API Google Trang tính cho phép bạn tạo, sửa đổi và xoá dải ô được đặt tên hoặc được bảo vệ. 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 trong Trang tính bằng API Trang tính.
Những ví dụ này được trình bày dưới dạng yêu cầu HTTP để trung lập về ngôn ngữ. Để tìm hiểu cách triển khai quá trình cập nhật hàng loạt bằng nhiều ngôn ngữ bằng cách sử dụ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 những ví dụ này, phần giữ chỗ SPREADSHEET_ID
và SHEET_ID
cho biết nơi 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ã trang tính bằng cách sử dụng phương thức spreadsheets.get
. Các dải ô được chỉ định bằng ký hiệu A1. Một dải ô ví dụ là Sheet1!A1:D5.
Ngoài ra, phần giữ chỗ NAMED_RANGE_ID
và PROTECTED_RANGE_ID
còn cung cấp mã nhận dạng cho các dải ô được đặt tên và được bảo vệ. namedRangeId
và protectedRangeId
được dùng khi đưa ra yêu cầu cập nhật hoặc xoá các dải ô được liên kết. Mã nhận dạng được trả về để phản hồi yêu cầu của API Trang tính liên quan đến việc tạo ra một dải ô được đặt tên hoặc được bảo vệ. Bạn có thể lấy mã nhận dạng của các phạm vi hiện có bằng phương thức spreadsheets.get
trong nội dung phản hồi Spreadsheet
.
Thêm dải ô được đặt tên hoặc được bảo vệ
Mã mẫu spreadsheets.batchUpdate
sau đây cho biết cách sử dụng 2 đối tượng yêu cầu. Tính năng đầu tiên sử dụng AddNamedRangeRequest
để gán cho dải ô A1:E3 tên là "Số lượng". Phương thức thứ hai sử dụng AddProtectedRangeRequest
để đính kèm một biện pháp bảo vệ ở cấp cảnh báo vào phạm vi A4:E4. Biện pháp bảo vệ ở cấp độ này vẫn cho phép chỉnh sửa các ô trong dải ô, nhưng sẽ nhắc cảnh báo trước khi thực hiện thay đổi.
Các yêu cầu này trả về một AddNamedRangeResponse
và một AddProtectedRangeResponse
, chứa các mã nhận dạng phạm vi và thuộc tính.
Giao thức yêu cầu được hiển thị dưới đây.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "addNamedRange": { "namedRange": { "name": "Counts", "range": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 3, "startColumnIndex": 0, "endColumnIndex": 5, }, } } }, { "addProtectedRange": { "protectedRange": { "range": { "sheetId":SHEET_ID
, "startRowIndex": 3, "endRowIndex": 4, "startColumnIndex": 0, "endColumnIndex": 5, }, "description": "Protecting total row", "warningOnly": true } } } ] }
Xoá dải ô được đặt tên hoặc được bảo vệ
Mã mẫu spreadsheets.batchUpdate
sau đây cho biết cách sử dụng 2 đối tượng yêu cầu. Phương thức đầu tiên sử dụng DeleteNamedRangeRequest
để xoá một dải ô hiện có đã đặt tên, bằng cách sử dụng NAMED_RANGE_ID
từ lệnh gọi API trước đó. Phương thức thứ hai sử dụng DeleteProtectedRangeRequest
để xoá một biện pháp bảo vệ dải ô hiện có, sử dụng PROTECTED_RANGE_ID
từ lệnh gọi API trước đó.
Giao thức yêu cầu được hiển thị dưới đây.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "deleteNamedRange": { "namedRangeId": "NAMED_RANGE_ID
", } }, { "deleteProtectedRange": { "protectedRangeId":PROTECTED_RANGE_ID
, } } ] }
Cập nhật dải ô được đặt tên hoặc được bảo vệ
Mã mẫu spreadsheets.batchUpdate
sau đây cho biết cách sử dụng 2 đối tượng yêu cầu. Phương thức đầu tiên sử dụng UpdateNamedRangeRequest
để cập nhật tên của một dải ô hiện đã được đặt tên thành "InitialCounts", bằng cách sử dụng NAMED_RANGE_ID
từ lệnh gọi API trước đó. Phương thức thứ hai sử dụng UpdateProtectedRangeRequest
để cập nhật một dải ô được bảo vệ hiện có nhằm bảo vệ chính dải ô đó được đặt tên. Phương thức Editors
chỉ cho phép những người dùng được liệt kê chỉnh sửa các ô đó. Yêu cầu này sử dụng NAMED_RANGE_ID
và PROTECTED_RANGE_ID
từ các lệnh gọi API trước đó.
Giao thức yêu cầu được hiển thị dưới đây.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "updateNamedRange": { "namedRange": { "namedRangeId":NAMED_RANGE_ID
, "name": "InitialCounts", }, "fields": "name", } }, { "updateProtectedRange": { "protectedRange": { "protectedRangeId":PROTECTED_RANGE_ID
, "namedRangeId":NAMED_RANGE_ID
, "warningOnly": false, "editors": { "users": [ "charlie@example.com", "sasha@example.com" ] } }, "fields": "namedRangeId,warningOnly,editors" } } ] }