Veri işlemleri

Google E-Tablolar API'si, 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şlevi E-Tablolar API'si ile de yapmak mümkündür. Bu sayfadaki örneklerde, Sheets API ile bazı yaygın e-tablo işlemlerini nasıl gerçekleştirebileceğiniz gösterilmektedir.

Bu örnekler, dilsiz olması için HTTP istekleri biçiminde sunulur. Google API istemci kitaplıklarını kullanarak farklı dillerde toplu güncellemenin nasıl uygulanacağını öğrenmek için E-tabloları güncelleme bölümüne bakın.

Bu örneklerde SPREADSHEET_ID ve SHEET_ID yer tutucuları, bu kimlikleri nereye gireceğinizi 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. Sayfa1!A1:D5 örnek aralıktır.

Aralığa veri doğrulaması uygulama

Aşağıdaki spreadsheets.batchUpdate kod örneğinde, A1:D10 aralığındaki her hücreye "değer > 5" şeklinde bir veri doğrulama kuralı uygulamak için SetDataValidationRequest kodunun 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 kopyalayıp aynı sayfadaki F1:I10 aralığına yapıştırmak için CopyPasteRequest kodunun 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 aralığındaki 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 özelliğinin nasıl kullanılacağı gösterilmektedir. A1:D10 aralığını keser ve değerlerini, formüllerini ve biçimlendirmesini yapıştırmak için PASTE_NORMAL ile birlikte PasteType enum'unu kullanır ve aynı sayfadaki F1:I10 aralığıyla birleştirilir. Orijinal kaynak aralık hücresi 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"
      }
    }
  ]
}

Formülü bir 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 kodunun nasıl kullanılacağı gösterilmektedir. Formülün aralığı, sol üstteki 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 sahipken D6 hücresi =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 spesifikasyonuyla bir aralığı sıralama

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