Operasi data

Google Sheets API memungkinkan Anda mengolah data dalam spreadsheet dalam berbagai cara. Sebagian besar fungsi yang tersedia bagi pengguna yang bekerja dengan Sheets UI juga bisa digunakan dengan Sheets API. Contoh di halaman ini menggambarkan bagaimana Anda dapat mencapai beberapa operasi spreadsheet umum dengan Sheets API.

Contoh ini disajikan dalam bentuk permintaan HTTP untuk memilih bahasa netral. Untuk mempelajari cara mengimplementasikan update secara batch dalam berbagai bahasa menggunakan library klien Google API, lihat Memperbarui di spreadsheet.

Dalam contoh ini, placeholder SPREADSHEET_ID dan SHEET_ID menunjukkan di mana Anda akan memberikan ID tersebut. Anda dapat menemukan spreadsheet ID di URL spreadsheet. Anda bisa mendapatkan sheet ID dengan menggunakan Metode spreadsheets.get. Tujuan rentang ditentukan menggunakan notasi A1. Channel contohnya adalah Sheet1!A1:D5.

Menerapkan validasi data ke rentang

Hal berikut spreadsheets.batchUpdate contoh kode menunjukkan cara menggunakan SetDataValidationRequest untuk menerapkan aturan validasi data, di mana "value > 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
        }
      }
    }
  ]
}

Salin & tempelkan pemformatan sel

Hal berikut spreadsheets.batchUpdate contoh kode menunjukkan cara menggunakan CopyPasteRequest untuk menyalin format hanya dalam kisaran A1:D10 dan menempelkannya ke kisaran F1:I10 dalam sheet yang sama. Metode ini menggunakan Enum PasteType dengan PASTE_FORMAT untuk menempelkan pemformatan dan validasi data saja. Tujuan nilai asli dalam A1:D10 tetap 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 & tempelkan sel

Hal berikut spreadsheets.batchUpdate contoh kode menunjukkan cara menggunakan CutPasteRequest. Pola ini memotong rentang A1:D10 dan menggunakan Enum PasteType dengan PASTE_NORMAL untuk menempelkan nilai, formula, pemformatan, dan penggabungannya ke F1:I10 berada dalam {i>sheet<i} yang sama. Isi sel rentang sumber asli adalah 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

Hal berikut spreadsheets.batchUpdate contoh kode menunjukkan cara menggunakan RepeatCellRequest untuk menyalin rumus =FLOOR(A1*PI()) ke rentang B1:D10. Rentang formula secara otomatis untuk setiap baris dan kolom dalam rentang, 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

Hal berikut spreadsheets.batchUpdate contoh kode menunjukkan cara menggunakan SortRangeRequest untuk mengurutkan rentang A1:D10, pertama dengan kolom B dalam urutan menaik, kemudian dengan kolom C dengan urutan menurun, lalu dengan 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"
          }
        ]
      }
    }
  ]
}