Operasi data

Google Sheets API memungkinkan Anda memanipulasi data dalam spreadsheet dengan berbagai cara. Sebagian besar fungsi yang tersedia bagi pengguna yang bekerja dengan UI Sheets juga dapat dilakukan dengan Sheets API. Contoh di halaman ini menunjukkan cara melakukan beberapa operasi spreadsheet umum dengan Sheets API.

Contoh-contoh ini ditampilkan dalam bentuk permintaan HTTP dengan bahasa yang netral. Untuk mempelajari cara mengimplementasikan update batch dalam berbagai bahasa menggunakan library klien Google API, lihat Mengupdate spreadsheet.

Dalam contoh ini, placeholder SPREADSHEET_ID dan SHEET_ID menunjukkan tempat Anda akan memberikan ID tersebut. Anda dapat menemukan ID spreadsheet di URL spreadsheet. Anda bisa mendapatkan ID sheet dengan menggunakan metode spreadsheets.get. Rentang ditentukan menggunakan notasi A1. Contoh rentangnya adalah Sheet1!A1:D5.

Menerapkan validasi data ke rentang

Contoh kode spreadsheets.batchUpdate berikut menunjukkan cara menggunakan SetDataValidationRequest untuk menerapkan aturan validasi data, dengan "nilai > 5", ke setiap sel dalam rentang A1:D10.

Protokol permintaan ditampilkan di bawah ini.

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

Menyalin & menempelkan pemformatan sel

Contoh kode spreadsheets.batchUpdate berikut menunjukkan cara menggunakan CopyPasteRequest untuk menyalin format hanya dalam rentang A1:D10 dan menempelkannya ke rentang F1:I10 di sheet yang sama. Metode ini menggunakan enum PasteType dengan PASTE_FORMAT untuk menempelkan format dan validasi data saja. Nilai asli di A1:D10 tidak berubah.

Protokol permintaan ditampilkan di bawah ini.

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

Potong & tempel sel

Contoh kode spreadsheets.batchUpdate berikut menunjukkan cara menggunakan CutPasteRequest. Fungsi ini memotong rentang A1:D10 dan menggunakan enum PasteType dengan PASTE_NORMAL untuk menempelkan nilai, formula, pemformatan, dan menggabungkannya ke rentang F1:I10 di sheet yang sama. Isi sel rentang sumber asli dihapus.

Protokol permintaan ditampilkan di bawah ini.

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

Mengulangi formula pada rentang tertentu

Contoh kode spreadsheets.batchUpdate berikut menunjukkan cara menggunakan RepeatCellRequest untuk menyalin formula =FLOOR(A1*PI()) ke rentang B1:D10. Rentang formula secara otomatis bertambah untuk setiap baris dan kolom dalam rentang tersebut, dimulai dengan sel kiri atas. Misalnya, sel B1 memiliki formula =FLOOR(A1*PI()), sedangkan sel D6 memiliki formula =FLOOR(C6*PI()).

Protokol permintaan ditampilkan di bawah ini.

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

Mengurutkan rentang dengan beberapa spesifikasi pengurutan

Contoh kode spreadsheets.batchUpdate berikut menunjukkan cara menggunakan SortRangeRequest untuk mengurutkan rentang A1:D10, pertama menurut kolom B dalam urutan menaik, lalu menurut kolom C dalam urutan menurun, lalu menurut kolom D dalam urutan menurun.

Protokol permintaan ditampilkan di bawah ini.

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