Operasi data

Google Sheets API memungkinkan Anda memanipulasi data dalam spreadsheet dengan berbagai cara. Sebagian besar fungsi yang tersedia untuk pengguna yang menggunakan UI Spreadsheet juga dapat dilakukan dengan Spreadsheet API. Contoh di halaman ini mengilustrasikan cara mencapai beberapa operasi spreadsheet umum dengan Spreadsheet API.

Contoh ini disajikan dalam bentuk permintaan HTTP agar netral bahasa. Untuk mempelajari cara menerapkan kumpulan update dalam berbagai bahasa menggunakan library klien Google API, lihat Memperbarui 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 menggunakan metode spreadsheets.get. Rentang ditentukan menggunakan notasi A1. Contoh rentang adalah Sheet1!A1:D5.

Menerapkan validasi data ke rentang

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

Protokol permintaan ditampilkan di bawah.

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 &menempel format sel

Contoh kode berikut spreadsheets.batchUpdate 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 the PasteType enum with PASTE_FORMAT untuk menempelkan format, tidak termasuk validasi data. Nilai asli dalam A1:D10 tetap tidak berubah.

Protokol permintaan ditampilkan di bawah.

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

Memotong &menempel sel

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

Protokol permintaan ditampilkan di bawah.

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

Mengulang formula di seluruh rentang

Contoh kode berikut spreadsheets.batchUpdate menunjukkan cara menggunakan RepeatCellRequest untuk menyalin formula =FLOOR(A1*PI()) ke rentang B1:D10. Rentang formula akan otomatis bertambah 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.

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 berikut spreadsheets.batchUpdate menunjukkan cara menggunakan SortRangeRequest untuk mengurutkan rentang A1:D10, pertama berdasarkan kolom B dalam urutan menaik, lalu berdasarkan kolom C dalam urutan menurun, lalu berdasarkan kolom D dalam urutan menurun.

Protokol permintaan ditampilkan di bawah.

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