Penulisan dasar

Google Sheets API memungkinkan Anda menulis nilai dan rumus ke sel, rentang, kumpulan rentang, dan seluruh sheet. Contoh di halaman ini menggambarkan bagaimana beberapa operasi tulis yang umum dapat dilakukan dengan spreadsheets.values resource Sheets API.

Perhatikan bahwa kita juga bisa menulis nilai sel menggunakan spreadsheet.batchUpdate , yang dapat berguna jika Anda ingin memperbarui pemformatan sel secara bersamaan atau properti lainnya spreadsheets.values tidak terpengaruh. Misalnya, jika Anda ingin menyalin rentang sel dari satu lembar ke lembar lainnya sambil menimpa formula sel dan sel format font, Anda dapat menggunakan UpdateCellsRequest dengan sebuah spreadsheet.batchUpdate.

Namun, untuk penulisan nilai sederhana, lebih mudah untuk menggunakan spreadsheets.values.update metode atau spreadsheets.values.batchUpdate .

Contoh ini disajikan dalam bentuk permintaan HTTP untuk memilih bahasa netral. Untuk mempelajari cara mengimplementasikan operasi tulis dalam berbagai bahasa menggunakan library klien Google API, lihat Membaca & tulis sel lainnya.

Dalam contoh ini, placeholder SPREADSHEET_ID menunjukkan di mana Anda akan memberikan {i>spreadsheet<i} ID, yang dapat ditemukan dari URL spreadsheet. Rentang yang menjadi tujuan penulisan ditentukan menggunakan A1 notasi. Contoh rentangnya adalah Sheet1!A1:D5.

Menulis satu rentang

Dimulai dengan {i>spreadsheet<i} baru yang kosong, spreadsheets.values.update contoh kode menunjukkan cara menulis nilai ke sebuah rentang. Tujuan ValueInputOption kueri diperlukan dan menentukan apakah nilai yang ditulis diuraikan (untuk misalnya, apakah string dikonversi menjadi tanggal atau tidak).

Isi permintaan adalah ValueRange yang mendeskripsikan nilai rentang yang akan ditulis. Tujuan Kolom majorDimension menunjukkan bahwa array adalah daftar nilai yang diatur berdasarkan baris. Nilai yang ada dalam rentang target akan ditimpa.

Protokol permintaan ditampilkan di bawah ini.

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:D5?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!A1:D5",
  "majorDimension": "ROWS",
  "values": [
    ["Item", "Cost", "Stocked", "Ship Date"],
    ["Wheel", "$20.50", "4", "3/1/2016"],
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "3/20/2016"],
    ["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
  ],
}

Respons terdiri dari UpdateValuesResponse , seperti yang satu ini:

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!A1:D5",
  "updatedRows": 5,
  "updatedColumns": 4,
  "updatedCells": 20,
}

Sheet yang dihasilkan akan terlihat seperti berikut:

A B C D
1 Item Biaya Berstok Tanggal Pengiriman
2 Wheel $20,50 4 1/3/2016
3 Pintu $15 2 15/3/2016
4 Mesin $100 1 20/3/2016
5 Total $135,5 7 20/3/2016

Menulis secara selektif ke rentang

Saat menulis nilai ke suatu rentang, kita bisa menghindari perubahan pada beberapa sel dengan menyetel elemen array yang sesuai ke null. Dimungkinkan juga untuk menghapus sel dengan menulis string kosong ("") ke sel tersebut.

Dimulai dengan sheet yang berisi data yang sama yang dihasilkan oleh class di atas contoh, spreadsheets.values.update contoh kode menunjukkan cara menulis nilai ke rentang B1:D4, secara selektif membiarkan beberapa sel tidak berubah dan membersihkan yang lainnya. Tujuan ValueInputOption kueri diperlukan dan menentukan apakah nilai yang ditulis diuraikan (untuk misalnya, apakah string dikonversi menjadi tanggal atau tidak).

Isi permintaan adalah ValueRange yang mendeskripsikan nilai rentang yang akan ditulis. Tujuan Kolom majorDimension menunjukkan bahwa array adalah daftar nilai yang diatur berdasarkan kolom.

Protokol permintaan ditampilkan di bawah ini.

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!B1?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!B1",
  "majorDimension": "COLUMNS",
  "values": [
    [null,"$1","$2", ""],
    [],
    [null,"4/1/2016", "4/15/2016", ""]
  ]
}

Kolom values di sini mencantumkan perubahan yang dibuat pada setiap kolom dalam rentang. Tujuan array pertama menunjukkan bahwa B1 akan dibiarkan tidak berubah (karena array null ), sementara B4 akan dihapus (string kosong). B2 dan B3 memiliki nilai-nilai mereka diperbarui. {i>Array<i} ketiga melakukan operasi yang sama pada kolom D, sedangkan {i>array<i} kosong kedua menunjukkan bahwa kolom C harus dibiarkan tidak berubah.

Respons terdiri dari UpdateValuesResponse seperti yang satu ini:

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!B1:D5",
  "updatedRows": 3,
  "updatedColumns": 2,
  "updatedCells": 6,
}

Sheet yang dihasilkan akan terlihat seperti berikut:

A B C D
1 Item Biaya Berstok Tanggal Pengiriman
2 Wheel $1,00 4 1/4/2016
3 Pintu $2 2 15/4/2016
4 Mesin 1
5 Total $3,00 7 15/4/2016

Perhatikan bahwa "Total" walaupun tidak secara langsung diubah oleh permintaan ini, berubah karena selnya mengandung formula yang tergantung pada sel yang diubah.

Menulis ke beberapa rentang

Dimulai dengan {i>sheet kosong<i}, spreadsheets.values.batchUpdate contoh kode menunjukkan cara menulis nilai ke rentang Sheet1!A1:A4 dan Lembar1!B1:D2. Nilai yang ada dalam rentang target akan ditimpa. Permintaan body terdiri dari Objek ValueInputOption yang menunjukkan cara menafsirkan data input dan array ValueRange objek yang sesuai dengan setiap rentang yang ditulis. Tujuan Kolom majorDimension menentukan apakah larik yang disertakan ditafsirkan sebagai larik kolom atau baris.

Protokol permintaan ditampilkan di bawah ini.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values:batchUpdate
{
  "valueInputOption": "VALUE_INPUT_OPTION",
  "data": [
    {
      "range": "Sheet1!A1:A4",
      "majorDimension": "COLUMNS",
      "values": [
        ["Item", "Wheel", "Door", "Engine"]
      ]
    },
    {
      "range": "Sheet1!B1:D2",
      "majorDimension": "ROWS",
      "values": [
        ["Cost", "Stocked", "Ship Date"],
        ["$20.50", "4", "3/1/2016"]
      ]
    }
  ]
}

Respons terdiri dari objek yang mencantumkan statistik sel yang diperbarui dan array UpdateValuesResponse objek, satu untuk setiap rentang yang diperbarui. Contoh:

{
  "spreadsheetId": SPREADSHEET_ID,
  "totalUpdatedRows": 4,
  "totalUpdatedColumns": 4,
  "totalUpdatedCells": 10,
  "totalUpdatedSheets": 1,
  "responses": [
    {
      "spreadsheetId": SPREADSHEET_ID,
      "updatedRange": "Sheet1!A1:A4",
      "updatedRows": 4,
      "updatedColumns": 1,
      "updatedCells": 4,
    },
    {
      "spreadsheetId": SPREADSHEET_ID,
      "updatedRange": "Sheet1!B1:D2",
      "updatedRows": 2,
      "updatedColumns": 3,
      "updatedCells": 6,
    }
  ],
}

Sheet yang dihasilkan akan terlihat seperti berikut:

A B C D
1 Item Biaya Berstok Tanggal Pengiriman
2 Wheel $20,50 4 1/3/2016
3 Pintu
4 Mesin
5

Menulis nilai tanpa mengurai

Dimulai dengan {i>sheet kosong<i}, spreadsheets.values.update contoh kode menunjukkan cara menulis nilai ke rentang Sheet1!A1:E1, tetapi menggunakan RAW ValueInputOption untuk mencegah {i>string<i} tertulis tidak diuraikan sebagai rumus, boolean, atau angka. Mereka muncul sebagai string dan perataan teks diratakan pada sheet.

Isi permintaan adalah ValueRange yang mendeskripsikan nilai rentang yang akan ditulis. Tujuan Kolom majorDimension menunjukkan bahwa array tersebut adalah daftar nilai yang diatur berdasarkan baris. Nilai yang ada dalam rentang target akan ditimpa.

Protokol permintaan ditampilkan di bawah ini.

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:E1?valueInputOption=RAW
{
  "range": "Sheet1!A1:E1",
  "majorDimension": "ROWS",
  "values": [
    ["Data", 123.45, true, "=MAX(D2:D4)", "10"]
  ],
}

Respons terdiri dari UpdateValuesResponse seperti yang satu ini:

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!A1:E1",
  "updatedRows": 1,
  "updatedColumns": 5,
  "updatedCells": 5,
}

Sheet yang dihasilkan akan terlihat seperti berikut:

A B C D E
1 Data 123,45 TRUE =MAX(D2:D4) 10
2

Perhatikan bahwa "{i>TRUE<i}" berada di tengah dan merupakan nilai boolean, sedangkan "123,45" benar dibenarkan karena berupa angka, dan "10" diratakan ke kiri karena merupakan {i>string<i}. Formula tidak diuraikan, dan juga muncul sebagai string.

Tambahkan nilai

Mulailah dengan {i>sheet<i} seperti tabel di bawah ini:

A B C D
1 Item Biaya Berstok Tanggal Pengiriman
2 Wheel $20,50 4 1/3/2016
3

Hal berikut spreadsheets.values.append contoh kode menunjukkan cara menambahkan dua baris nilai baru yang dimulai dengan baris 3. Tujuan ValueInputOption kueri diperlukan dan menentukan apakah nilai yang ditulis diuraikan (untuk misalnya, apakah string dikonversi menjadi tanggal atau tidak).

Isi permintaan adalah ValueRange yang mendeskripsikan nilai rentang yang akan ditulis. Tujuan Kolom majorDimension menunjukkan bahwa array adalah daftar nilai yang diatur berdasarkan baris.

Protokol permintaan ditampilkan di bawah ini.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:E1:append?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!A1:E1",
  "majorDimension": "ROWS",
  "values": [
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "3/20/2016"],
  ],
}

Respons terdiri dari AppendValuesResponse seperti yang satu ini:

{
  "spreadsheetId": SPREADSHEET_ID,
  "tableRange": "Sheet1!A1:D2",
  "updates": {
    "spreadsheetId": SPREADSHEET_ID,
    "updatedRange": "Sheet1!A3:D4",
    "updatedRows": 2,
    "updatedColumns": 4,
    "updatedCells": 8,
  }
}

Sheet yang dihasilkan akan terlihat seperti berikut:

A B C D
1 Item Biaya Berstok Tanggal Pengiriman
2 Wheel $20,50 4 1/3/2016
3 Pintu $15 2 15/3/2016
4 Mesin $100 1 20/3/2016
5