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 | Dengan Persediaan | 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 | Dengan Persediaan | 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 | Dengan Persediaan | 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 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 | Dengan Persediaan | 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 | Dengan Persediaan | 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 |