Google E-Tablolar API'si, e-tablolardaki verileri çeşitli şekillerde değiştirmenize olanak tanır. E-Tablolar kullanıcı arayüzüyle çalışan kullanıcılara sunulan çoğu işlevi E-Tablolar API'si ile de yapmak mümkündür. Bu sayfadaki örneklerde, Sheets API ile bazı yaygın e-tablo işlemlerini nasıl gerçekleştirebileceğiniz gösterilmektedir.
Bu örnekler, dilsiz olması için HTTP istekleri biçiminde sunulur. Google API istemci kitaplıklarını kullanarak farklı dillerde toplu güncellemenin nasıl uygulanacağını öğrenmek için E-tabloları güncelleme bölümüne bakın.
Bu örneklerde SPREADSHEET_ID
ve SHEET_ID
yer tutucuları, bu kimlikleri nereye gireceğinizi belirtir. E-tablo kimliğini e-tablonun URL'sinde bulabilirsiniz. Sayfa kimliğini spreadsheets.get
yöntemini kullanarak alabilirsiniz. Aralıklar, A1 gösterimi kullanılarak belirtilir. Sayfa1!A1:D5 örnek aralıktır.
Aralığa veri doğrulaması uygulama
Aşağıdaki spreadsheets.batchUpdate
kod örneğinde, A1:D10 aralığındaki her hücreye "değer > 5" şeklinde bir veri doğrulama kuralı uygulamak için SetDataValidationRequest
kodunun 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 kopyalama ve 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
kodunun nasıl kullanılacağı gösterilmektedir. Yöntem, yalnızca biçimlendirmeyi ve veri doğrulamasını yapıştırmak için PASTE_FORMAT
ile PasteType
enum'unu kullanır. A1:D10 aralığındaki orijinal değerler değişmez.
İ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 kes ve yapıştır
Aşağıdaki spreadsheets.batchUpdate
kod örneğinde CutPasteRequest
özelliğinin nasıl kullanılacağı gösterilmektedir.
A1:D10 aralığını keser ve değerlerini, formüllerini ve biçimlendirmesini yapıştırmak için PASTE_NORMAL
ile birlikte PasteType
enum'unu kullanır ve aynı sayfadaki F1:I10 aralığıyla birleştirilir. Orijinal kaynak aralık hücresi içeriği 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" } } ] }
Formülü bir 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
kodunun nasıl kullanılacağı gösterilmektedir. Formülün aralığı, sol üstteki hücreden başlayarak aralıktaki her satır ve sütun için otomatik olarak artar. Örneğin, B1 hücresi =FLOOR(A1*PI())
formülüne sahipken D6 hücresi =FLOOR(C6*PI())
formülüne sahiptir.
İ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 çok sıralama spesifikasyonuyla bir aralığı sıralama
Aşağıdaki spreadsheets.batchUpdate
kod örneğinde, A1:D10 aralığını önce B sütununa, ardından C sütununa, azalan düzende ve D sütununa göre sıralamak için SortRangeRequest
özelliğinin 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"
}
]
}
}
]
}