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ılara sunulan çoğu işlev, Sheets API ile de yapılabilir. Bu sayfadaki örnekler, Sheets API ile yaygın olarak kullanılan bazı e-tablo işlemlerini nasıl gerçekleştirebileceğinizi göstermektedir.

Bu örnekler, dilden bağımsız olarak HTTP istekleri şeklinde sunulur. Google API istemci kitaplıklarını kullanarak farklı dillerde toplu güncelleme yapmayı öğrenmek için E-tabloları güncelleme bölümüne bakın.

Bu örneklerde SPREADSHEET_ID ve SHEET_ID yer tutucuları, bu kimlikleri nerede sağlayacağınızı 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. Örneğin Sayfa1!A1:D5.

Aralığa veri doğrulama uygulama

Aşağıdaki spreadsheets.batchUpdate kod örneğinde, A1:D10 aralığındaki her hücreye bir veri doğrulama kuralı (değer > 5) uygulamak için SetDataValidationRequest öğesinin 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 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 öğesinin 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 birlikte PasteType numaralandırmasını kullanır. A1:D10'daki 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 öğesinin 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 PASTE_NORMAL ile birlikte PasteType numaralandırmasını kullanır. Orijinal kaynak aralık hücre 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"
      }
    }
  ]
}

Bir aralığın üzerinde formülü 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ığı, sol üst 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, D6 hücresi ise =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 özelliğiyle aralıkları sıralama

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