Google Sheets API cho phép bạn xử lý dữ liệu trong bảng tính theo nhiều cách. Hầu hết các chức năng mà người dùng có thể sử dụng khi làm việc với giao diện người dùng Trang tính cũng có thể thực hiện bằng API Trang tính. Các ví dụ trên trang này minh hoạ cách bạn có thể thực hiện một số thao tác phổ biến trên bảng tính bằng Sheets API.
Các ví dụ này được trình bày dưới dạng yêu cầu HTTP để không phụ thuộc vào ngôn ngữ. Để tìm hiểu cách triển khai một bản cập nhật hàng loạt bằng nhiều ngôn ngữ bằng thư viện ứng dụng API của Google, hãy xem phần Cập nhật bảng tính.
Trong các ví dụ này, phần giữ chỗ SPREADSHEET_ID
và SHEET_ID
cho biết vị trí mà bạn sẽ cung cấp các mã nhận dạng đó. Bạn có thể tìm thấy mã nhận dạng bảng tính trong URL của bảng tính. Bạn có thể lấy mã nhận dạng trang tính bằng phương thức spreadsheets.get
. Các dải ô được chỉ định bằng ký hiệu A1. Ví dụ về dải ô là Trang_tính1!A1:D5.
Áp dụng quy tắc xác thực dữ liệu cho một dải ô
Mẫu mã spreadsheets.batchUpdate
sau đây cho biết cách sử dụng SetDataValidationRequest
để áp dụng quy tắc xác thực dữ liệu ("giá trị > 5") cho mọi ô trong dải ô A1:D10.
Giao thức yêu cầu được trình bày bên dưới.
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
}
}
}
]
}
Sao chép và dán định dạng ô
Mẫu mã spreadsheets.batchUpdate
sau đây cho biết cách sử dụng CopyPasteRequest
để chỉ sao chép định dạng trong dải ô A1:D10 và dán vào dải ô F1:I10 trong cùng một trang tính. Phương thức này sử dụng enum PasteType
với PASTE_FORMAT
để chỉ dán định dạng và quy tắc xác thực dữ liệu. Các giá trị ban đầu trong A1:D10 vẫn không thay đổi.
Giao thức yêu cầu được trình bày bên dưới.
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" } } ] }
Cắt và dán ô
Mẫu mã spreadsheets.batchUpdate
sau đây cho biết cách sử dụng CutPasteRequest
.
Thao tác này sẽ cắt dải ô A1:D10 và sử dụng enum PasteType
với PASTE_NORMAL
để dán các giá trị, công thức, định dạng và hợp nhất vào dải ô F1:I10 trong cùng một trang tính. Nội dung ô của dải ô nguồn ban đầu sẽ bị xoá.
Giao thức yêu cầu được trình bày bên dưới.
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" } } ] }
Lặp lại một công thức trên một dải ô
Mẫu mã spreadsheets.batchUpdate
sau đây cho biết cách sử dụng RepeatCellRequest
để sao chép công thức =FLOOR(A1*PI())
vào dải ô B1:D10. Phạm vi của công thức sẽ tự động tăng cho mỗi hàng và cột trong phạm vi, bắt đầu từ ô trên cùng bên trái. Ví dụ: ô B1 có công thức =FLOOR(A1*PI())
, còn ô D6 có công thức =FLOOR(C6*PI())
.
Giao thức yêu cầu được trình bày bên dưới.
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"
}
}
]
}
Sắp xếp một dải ô có nhiều tiêu chí sắp xếp
Mẫu mã spreadsheets.batchUpdate
sau đây cho thấy cách sử dụng SortRangeRequest
để sắp xếp dải ô A1:D10, trước tiên là theo cột B theo thứ tự tăng dần, sau đó là theo cột C theo thứ tự giảm dần, rồi theo cột D theo thứ tự giảm dần.
Giao thức yêu cầu được trình bày bên dưới.
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"
}
]
}
}
]
}