Veri işlemleri

Google E-Tablolar API, e-tablolardaki verileri çeşitli şekillerde işlemenize olanak tanır. E-Tablolar kullanıcı arayüzüyle çalışan kullanıcıların kullanabildiği işlevlerin çoğu E-Tablolar API'siyle de kullanılabilir. Bu sayfada, E-Tablolar API'si ile bazı yaygın e-tablo işlemlerini nasıl gerçekleştirebileceğiniz gösterilmektedir.

Bu örnekler, dil açısından tarafsız olması için HTTP istekleri biçiminde sunulur. Google API istemci kitaplıklarını kullanarak farklı dillerde toplu güncelleme yapmayı öğ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 e-tablo kimliğini alabilirsiniz. Aralıklar A1 gösterimi kullanılarak belirtilir. Örnek aralık: Sayfa1!A1:D5.

Bir alana veri doğrulaması uygulama

Aşağıdaki spreadsheets.batchUpdate kod örneğinde, A1:D10 aralığındaki her hücreye "değer > 5" olan bir veri doğrulama kuralı 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 kopyalama ve yapıştırma

Aşağıdaki spreadsheets.batchUpdate kod örneğinde, yalnızca A1:D10 aralığındaki biçimlendirmeyi kopyalamak ve aynı sayfadaki F1:I10 aralığına yapıştırmak için CopyPasteRequest işlevinin 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 arası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 kesme ve yapıştırma

Aşağıdaki spreadsheets.batchUpdate kod örneğinde, CutPasteRequest işlevinin nasıl kullanılacağı gösterilmektedir. A1:D10 aralığını keser ve değerlerini, formüllerini, biçimlendirmesini yapıştırmak için PASTE_NORMAL ile PasteType dizini kullanır ve aynı sayfadaki F1:I10 aralığıyla birleştirir. Orijinal kaynak aralığı 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ü bir aralık boyunca 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 aralığı, sol üst hücreden başlayarak aralıktaki her satır ve sütun için otomatik olarak artar. Örneğin, B1 hücresinde =FLOOR(A1*PI()) formülü, D6 hücresinde ise =FLOOR(C6*PI()) formülü vardır.

İ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ğine sahip bir aralığı sıralama

Aşağıdaki spreadsheets.batchUpdate kod örneğinde, A1:D10 aralığını önce artan düzende B sütununa göre, ardından azalan düzende C sütununa göre ve son olarak azalan düzende D sütununa göre 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"
          }
        ]
      }
    }
  ]
}