Sayfa işlemleri

Google E-Tablolar API'si, e-tablolar oluşturmanıza, temizlemenize, kopyalamanıza ve silmenize, ayrıca özelliklerini kontrol etmenize olanak tanır. Bu sayfadaki örnekler, E-Tablolar 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 gösterimi kullanılarak belirtilir. Örnek bir aralık: Sayfa1!A1:D5.

Sayfa ekleme

Aşağıdaki spreadsheets.batchUpdate kod örneğinde, AddSheetRequest kullanılarak e-tabloya sayfa eklemenin yanı sıra başlık, ızgara boyutu ve sekme renginin nasıl ayarlanacağı gösterilmektedir.

Yanıt, oluşturulan sayfanın özelliklerini (ör. SHEET_ID) içeren bir nesne içeren bir AddSheetResponse öğesinden oluşur.

İstek protokolü aşağıda gösterilmektedir.

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.

userEnteredValue alanının karşılık gelen bir değer olmadan 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 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österilmektedir.

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. Kopya, orijinalin tüm değerlerini, biçimlendirmesini, formüllerini ve diğer özelliklerini korur. 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, SHEET_ID tarafından belirtilen bir sayfanın silinmesi için DeleteSheetRequest öğesinin nasıl kullanılacağı gösterilmektedir.

İstek protokolü aşağıda gösterilmektedir.

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 elektronik 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.properties

Yanıt, Spreadsheet kaynağıyla SheetProperties öğelerini içeren bir Sheet nesnesinden oluşur. 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
        }
      },
      ...
  ],
}