Google E-Tablolar API'si, sayfaları oluşturmanıza, temizlemenize, kopyalamanıza ve silmenize, ayrıca özelliklerini kontrol etmenize olanak tanır. Bu sayfadaki örnekler, Sheets API'si ile bazı yaygın E-Tablolar işlemlerini nasıl gerçekleştirebileceğinizi gösterir.
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 işlemini nasıl uygulayacağınızı öğrenmek için E-tabloları güncelleme başlıklı makaleyi inceleyin.
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 notasyonu kullanılarak belirtilir. Örnek bir aralık: Sayfa1!A1:D5.
Sayfa ekleme
Aşağıdaki spreadsheets.batchUpdate kod örneğinde, e-tabloya sayfa eklemek için AddSheetRequest işlevinin nasıl kullanılacağı gösterilmektedir. Bu işlem sırasında başlık, ızgara boyutu ve sekme rengi de ayarlanır.
Yanıt, oluşturulan sayfanın özelliklerini (ör. SHEET_ID) içeren bir nesne içeren AddSheetResponse öğesinden oluşur.
İstek protokolü aşağıda gösterilmiştir.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"addSheet": {
"properties": {
"title": "Deposits",
"gridProperties": {
"rowCount": 20,
"columnCount": 12
},
"tabColor": {
"red": 1.0,
"green": 0.3,
"blue": 0.4
}
}
}
}
]
}Biçimleri koruyarak bir sayfadaki tüm değerleri temizleme
Aşağıdaki
spreadsheets.batchUpdate
kod örneğinde, biçimlendirmeyi değiştirmeden bir sayfadaki tüm değerleri kaldırmak için
UpdateCellsRequest
işlevinin nasıl kullanılacağı gösterilmektedir.
Karşılık gelen bir değer olmadan
userEnteredValue alanının belirtilmesi, aralıktaki değerlerin temizlenmesi talimatı olarak yorumlanır. Bu ayar diğer alanlarla da kullanılabilir. Örneğin, fields değerini userEnteredFormat olarak değiştirmek, e-tablodan Sheets API'si tarafından desteklenen tüm biçimlendirmeyi kaldırır ancak hücre değerlerini değiştirmeden bırakır.
İstek protokolü aşağıda gösterilmiştir.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"updateCells": {
"range": {
"sheetId": SHEET_ID
},
"fields": "userEnteredValue"
}
}
]
}Bir e-tablodaki sayfayı başka bir e-tabloya kopyalama
Aşağıdaki
spreadsheet.sheets.copyTo
kod örneğinde, SHEET_ID ile belirtilen tek bir sayfanın bir e-tablodan başka bir e-tabloya nasıl kopyalanacağı gösterilmektedir.
İstek gövdesindeki TARGET_SPREADSHEET_ID değişkeni, hedef e-tabloyu belirtir. Kopyada, orijinalin tüm değerleri, biçimlendirmesi, formülleri ve diğer özellikleri korunur. Kopyalanan sayfanın başlığı "[Orijinal sayfa başlığı] kopyası" olarak ayarlanır.
Yanıt, oluşturulan sayfanın özelliklerini açıklayan bir SheetProperties nesnesinden oluşur.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/sheets/SHEET_ID:copyTo
{
"destinationSpreadsheetId": "TARGET_SPREADSHEET_ID"
}Sayfa silme
Aşağıdaki spreadsheets.batchUpdate kod örneğinde, DeleteSheetRequest kullanılarak SHEET_ID ile belirtilen bir sayfanın nasıl silineceği gösterilmektedir.
İstek protokolü aşağıda gösterilmiştir.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"deleteSheet": {
"sheetId": SHEET_ID
}
}
]
}E-tablo verilerini okuma
Aşağıdaki spreadsheets.get kod örneğinde, SHEET_ID ve SPREADSHEET_ID ile belirtilen bir e-tablodan sayfa özelliği bilgilerinin nasıl alınacağı gösterilmektedir. Bu yöntem genellikle belirli bir e-tablodaki sayfaların meta verilerini belirlemek için kullanılır. Böylece ek işlemler bu sayfaları hedefleyebilir. fields sorgu parametresi, yalnızca sayfa özelliği verilerinin döndürülmesini (hücre değeri verileri veya e-tablonun tamamıyla ilgili veriler yerine) belirtir.
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?&fields=sheets.propertiesYanıt, Spreadsheet kaynağını içerir. Bu kaynakta SheetProperties öğeleri içeren bir Sheet nesnesi bulunur. Belirli bir yanıt alanı varsayılan değere ayarlanırsa yanıttan çıkarılır.
{
"sheets": [
{
"properties": {
"sheetId": SHEET_ID,
"title": "Sheet1",
"index": 0,
"sheetType": "GRID",
"gridProperties": {
"rowCount": 100,
"columnCount": 20,
"frozenRowCount": 1
}
"tabColor": {
"blue": 1.0
}
},
...
],
}