Veri işlemleri

Google Sheets API, e-tablolardaki verileri çeşitli şekillerde değiştirmenize olanak tanır. E-Tablolar kullanıcı arayüzüyle çalışan kullanıcıların yararlanabildiği çoğu işlev, E-Tablolar API'siyle 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 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.

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österilmektedir.

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österilmektedir.

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österilmektedir.

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. Bu işlem, 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österilmektedir.

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österilmektedir.

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"
          }
        ]
      }
    }
  ]
}