Google Sheets API, e-tablolardaki verileri çeşitli şekillerde değiştirmenize olanak tanır. Sheets kullanıcı arayüzüyle çalışan kullanıcıların yararlanabildiği çoğu işlev, Sheets API ile de kullanılabilir. Bu sayfadaki örneklerde, E-Tablolar API'si ile bazı yaygın e-tablo işlemlerini nasıl gerçekleştirebileceğiniz gösterilmektedir.
Bu örnekler, dilden bağımsız olması için HTTP istekleri şeklinde sunulur. Google API istemci kitaplıklarını kullanarak farklı dillerde toplu güncelleme yapmayı öğrenmek için E-tabloları güncelleme başlıklı makaleye bakın.
Bu örneklerde, SPREADSHEET_ID ve SHEET_ID yer tutucuları, bu kimlikleri nerede sağlayacağınızı gösterir. E-tablo kimliğini e-tablo URL'sinde bulabilirsiniz. spreadsheets.get yöntemini kullanarak sayfa kimliğini alabilirsiniz. Aralıklar, A1 gösterimi kullanılarak belirtilir. Örnek bir aralık: Sayfa1!A1:D5.
Bir aralığa veri doğrulama uygulama
Aşağıdaki
spreadsheets.batchUpdate
kod örneğinde, A1:D10 aralığındaki her hücreye "değer > 5" veri doğrulama kuralını uygulamak için
SetDataValidationRequest
işlevinin nasıl kullanılacağı gösterilmektedir.
İstek protokolü aşağıda gösterilmiştir.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"setDataValidation": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"rule": {
"condition": {
"type": "NUMBER_GREATER",
"values": [
{
"userEnteredValue": "5"
}
]
},
"inputMessage": "Value must be > 5",
"strict": true
}
}
}
]
}Hücre biçimlendirmesini kopyalayıp yapıştırma
Aşağıdaki
spreadsheets.batchUpdate
kod örneğinde, yalnızca A1:D10 aralığındaki biçimlendirmeyi kopyalayıp aynı sayfadaki F1:I10 aralığına yapıştırmak için
CopyPasteRequest
işlevinin nasıl kullanılacağı gösterilmektedir. Bu yöntem, yalnızca biçimlendirmeyi ve veri doğrulamasını yapıştırmak için PASTE_FORMAT ile birlikte PasteType enum'ını kullanır. A1:D10 aralığındaki orijinal değerler değişmeden kalır.
İstek protokolü aşağıda gösterilmiştir.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"copyPaste": {
"source": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"destination": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 5,
"endColumnIndex": 9
},
"pasteType": "PASTE_FORMAT",
"pasteOrientation": "NORMAL"
}
}
]
}Hücreleri kesip yapıştırma
Aşağıdaki
spreadsheets.batchUpdate
kod örneğinde, CutPasteRequest nasıl kullanılacağı gösterilmektedir.
A1:D10 aralığını keser ve değerlerini, formüllerini, biçimlendirmesini ve birleştirmelerini aynı sayfadaki F1:I10 aralığına yapıştırmak için PasteType enum'ını PASTE_NORMAL ile birlikte kullanır. Orijinal kaynak aralığındaki hücre içerikleri kaldırılır.
İstek protokolü aşağıda gösterilmiştir.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"cutPaste": {
"source": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"destination": {
"sheetId": SHEET_ID,
"rowIndex": 0,
"columnIndex": 5
},
"pasteType": "PASTE_NORMAL"
}
}
]
}Bir formülü aralıkta tekrarlama
Aşağıdaki
spreadsheets.batchUpdate
kod örneğinde, =FLOOR(A1*PI()) formülünü B1:D10 aralığına kopyalamak için
RepeatCellRequest
işlevinin nasıl kullanılacağı gösterilmektedir. Formülün aralığı, aralıktaki her satır ve sütun için otomatik olarak artırılır ve sol üst hücreden başlar. Örneğin, B1 hücresinde =FLOOR(A1*PI()) formülü, D6 hücresinde ise =FLOOR(C6*PI()) formülü var.
İstek protokolü aşağıda gösterilmiştir.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"repeatCell": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 1,
"endColumnIndex": 4
},
"cell": {
"userEnteredValue": {
"formulaValue": "=FLOOR(A1*PI())"
}
},
"fields": "userEnteredValue"
}
}
]
}Birden fazla sıralama özelliği içeren bir aralığı sıralama
Aşağıdaki
spreadsheets.batchUpdate
kod örneğinde, A1:D10 aralığını önce B sütununa göre artan düzende, ardından C sütununa göre azalan düzende, son olarak da D sütununa göre azalan düzende sıralamak için
SortRangeRequest
işlevinin nasıl kullanılacağı gösterilmektedir.
İstek protokolü aşağıda gösterilmiştir.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"sortRange": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"sortSpecs": [
{
"dimensionIndex": 1,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 2,
"sortOrder": "DESCENDING"
},
{
"dimensionIndex": 3,
"sortOrder": "DESCENDING"
}
]
}
}
]
}