API Google Trang tính cho phép bạn ghi các giá trị và công thức vào ô, dải ô
tập hợp dải ô và toàn bộ trang tính. Các ví dụ trên trang này minh hoạ cách một số
bạn có thể thực hiện các thao tác ghi thông thường nhờ
spreadsheets.values
của API Trang tính.
Lưu ý rằng bạn cũng có thể ghi giá trị của ô bằng cách sử dụng
spreadsheet.batchUpdate
Phương pháp này có thể hữu ích nếu bạn muốn cập nhật đồng thời định dạng ô
hoặc các thuộc tính khác mà
spreadsheets.values
tài nguyên không ảnh hưởng. Ví dụ: nếu bạn muốn sao chép một dải ô từ
trang tính này sang trang tính khác trong khi ghi đè cả công thức ô và ô
, bạn có thể sử dụng
UpdateCellsRequest
có một
spreadsheet.batchUpdate
.
Tuy nhiên, đối với giá trị đơn giản, việc ghi sẽ dễ dàng hơn
spreadsheets.values.update
hoặc
spreadsheets.values.batchUpdate
.
Những ví dụ này được trình bày dưới dạng các yêu cầu HTTP để trở thành ngôn ngữ bình thường. Để tìm hiểu cách triển khai chức năng ghi 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 & ghi ô giá trị.
Trong những ví dụ này, phần giữ chỗ SPREADSHEET_ID
cho biết
nơi bạn sẽ cung cấp bảng tính
Mã nhận dạng, có thể được tìm thấy từ
URL bảng tính. Dải ô cần ghi được chỉ định bằng A1
. Dải ô ví dụ là Sheet1!A1:D5.
Viết một dải ô duy nhất
Bắt đầu với một bảng tính mới, trống, như sau
spreadsheets.values.update
mã mẫu cho biết cách ghi các giá trị vào một dải ô. Chiến lược phát hành đĩa đơn
Cụm từ tìm kiếm ValueInputOption
là bắt buộc và xác định liệu giá trị đã ghi có được phân tích cú pháp hay không
ví dụ: liệu một chuỗi có được chuyển đổi thành ngày tháng hay không).
Nội dung yêu cầu là
ValueRange
đối tượng mô tả các giá trị dải ô cần ghi. Chiến lược phát hành đĩa đơn
Trường majorDimension
cho biết các mảng là danh sách các giá trị được sắp xếp theo hàng. Giá trị hiện có
trong phạm vi mục tiêu sẽ bị ghi đè.
Giao thức yêu cầu được trình bày dưới đây.
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)"] ], }
Phản hồi bao gồm một
UpdateValuesResponse
, chẳng hạn như đối tượng này:
{
"spreadsheetId": SPREADSHEET_ID
,
"updatedRange": "Sheet1!A1:D5",
"updatedRows": 5,
"updatedColumns": 4,
"updatedCells": 20,
}
Trang tính thu được sẽ có dạng như sau:
A | B | C | D | |
1 | Mục | Chi phí | Còn hàng | Ngày giao hàng |
2 | Bánh xe | $20,5 | 4 | 1/3/2016 |
3 | Cửa ra vào | $15 | 2 | 15/3/2016 |
4 | Động cơ | $100 | 1 | Ngày 20 tháng 3 năm 2016 |
5 | Tổng số | $135,5 | 7 | Ngày 20 tháng 3 năm 2016 |
Viết có chọn lọc vào một dải ô
Khi ghi giá trị vào một dải ô, có thể tránh được việc thay đổi một số giá trị hiện có
ô bằng cách đặt các phần tử mảng tương ứng thành null
. Cũng có thể
để xóa một ô bằng cách viết một chuỗi trống (""
) vào ô đó.
Bắt đầu bằng một trang tính có chứa cùng dữ liệu được tạo bởi
như sau
spreadsheets.values.update
mã mẫu cho biết cách ghi các giá trị vào dải ô B1:D4, một cách chọn lọc
giữ nguyên một số ô và xoá các ô khác. Chiến lược phát hành đĩa đơn
Cụm từ tìm kiếm ValueInputOption
là bắt buộc và xác định liệu giá trị đã ghi có được phân tích cú pháp hay không
ví dụ: liệu một chuỗi có được chuyển đổi thành ngày tháng hay không).
Nội dung yêu cầu là
ValueRange
đối tượng mô tả các giá trị dải ô cần ghi. Chiến lược phát hành đĩa đơn
Trường majorDimension
cho biết các mảng là danh sách giá trị được sắp xếp theo cột.
Giao thức yêu cầu được trình bày dưới đây.
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", ""] ] }
Trường values
ở đây liệt kê các thay đổi được thực hiện cho từng cột trong dải ô. Chiến lược phát hành đĩa đơn
mảng đầu tiên cho biết B1 sẽ không được thay đổi (do mảng null
), trong khi B4 sẽ bị xoá (chuỗi trống). B2 và B3 đều có giá trị riêng
đã cập nhật. Mảng thứ ba thực hiện các phép toán tương tự trên cột D, trong khi
mảng trống thứ hai cho biết cột C không được thay đổi.
Phản hồi bao gồm một
UpdateValuesResponse
chẳng hạn như đối tượng này:
{
"spreadsheetId": SPREADSHEET_ID
,
"updatedRange": "Sheet1!B1:D5",
"updatedRows": 3,
"updatedColumns": 2,
"updatedCells": 6,
}
Trang tính thu được sẽ có dạng như sau:
A | B | C | D | |
1 | Mục | Chi phí | Còn hàng | Ngày giao hàng |
2 | Bánh xe | 1 đô la | 4 | Ngày 1 tháng 4 năm 2016 |
3 | Cửa ra vào | 2 đô la | 2 | Ngày 15 tháng 4 năm 2016 |
4 | Động cơ | 1 | ||
5 | Tổng số | 3 đô la | 7 | Ngày 15 tháng 4 năm 2016 |
Lưu ý rằng cột "Tổng" hàng, mặc dù không được yêu cầu này thay đổi trực tiếp, vì các ô này chứa công thức phụ thuộc vào các ô bị thay đổi.
Ghi vào nhiều dải ô
Bắt đầu với một trang tính trống,
spreadsheets.values.batchUpdate
mã mẫu cho biết cách ghi các giá trị vào dải ô Sheet1!A1:A4 và
Trang tính 1! B1:D2. Các giá trị hiện có trong dải ô mục tiêu sẽ bị ghi đè. Yêu cầu
nội dung bao gồm một
đối tượng ValueInputOption
biểu thị cách diễn giải dữ liệu đầu vào và một mảng
ValueRange
các đối tượng tương ứng với từng dải ô được viết. Chiến lược phát hành đĩa đơn
Trường majorDimension
xác định xem các mảng được đưa vào có được diễn giải là mảng cột hay hàng hay không.
Giao thức yêu cầu được trình bày dưới đây.
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"] ] } ] }
Phản hồi bao gồm một đối tượng liệt kê số liệu thống kê đã cập nhật về ô
và một mảng
UpdateValuesResponse
một đối tượng cho mỗi dải ô được cập nhật. Ví dụ:
{ "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, } ], }
Trang tính thu được sẽ có dạng như sau:
A | B | C | D | |
1 | Mục | Chi phí | Còn hàng | Ngày giao hàng |
2 | Bánh xe | $20,5 | 4 | 1/3/2016 |
3 | Cửa ra vào | |||
4 | Động cơ | |||
5 |
Ghi các giá trị mà không cần phân tích cú pháp
Bắt đầu với một trang tính trống,
spreadsheets.values.update
mã mẫu cho biết cách ghi các giá trị vào dải ô Sheet1!A1:E1, nhưng sử dụng
RAW
ValueInputOption
để ngăn các chuỗi đã viết được phân tích cú pháp dưới dạng công thức,
boolean hoặc số. Chúng xuất hiện dưới dạng chuỗi và việc căn chỉnh văn bản đều hợp lý
trong trang tính.
Nội dung yêu cầu là
ValueRange
đối tượng mô tả các giá trị dải ô cần ghi. Chiến lược phát hành đĩa đơn
Trường majorDimension
cho biết các mảng là danh sách các giá trị được sắp xếp theo hàng. Giá trị hiện có
trong phạm vi mục tiêu sẽ bị ghi đè.
Giao thức yêu cầu được trình bày dưới đây.
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"] ], }
Phản hồi bao gồm
UpdateValuesResponse
chẳng hạn như đối tượng này:
{
"spreadsheetId": SPREADSHEET_ID
,
"updatedRange": "Sheet1!A1:E1",
"updatedRows": 1,
"updatedColumns": 5,
"updatedCells": 5,
}
Trang tính thu được sẽ có dạng như sau:
A | B | C | D | E | |
1 | Dữ liệu | 123,45 | TRUE | =MAX(D2:D4) | 10 |
2 |
Lưu ý là "TRUE" được căn giữa và là giá trị boolean, trong khi "123,45" đúng rồi căn đều vì đó là một số và "10" đều được căn trái vì đó là . Công thức không được phân tích cú pháp và cũng xuất hiện dưới dạng chuỗi.
Thêm giá trị
Bắt đầu với một trang tính như bảng dưới đây:
A | B | C | D | |
1 | Mục | Chi phí | Còn hàng | Ngày giao hàng |
2 | Bánh xe | $20,5 | 4 | 1/3/2016 |
3 |
Nội dung sau đây
spreadsheets.values.append
mã mẫu cho biết cách thêm hai hàng giá trị mới bắt đầu bằng hàng 3. Chiến lược phát hành đĩa đơn
Cụm từ tìm kiếm ValueInputOption
là bắt buộc và xác định liệu giá trị đã ghi có được phân tích cú pháp hay không
ví dụ: liệu một chuỗi có được chuyển đổi thành ngày tháng hay không).
Nội dung yêu cầu là
ValueRange
đối tượng mô tả các giá trị dải ô cần ghi. Chiến lược phát hành đĩa đơn
Trường majorDimension
cho biết các mảng là danh sách các giá trị được sắp xếp theo hàng.
Giao thức yêu cầu được trình bày dưới đây.
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"], ], }
Phản hồi bao gồm
AppendValuesResponse
chẳng hạn như đối tượng này:
{ "spreadsheetId":SPREADSHEET_ID
, "tableRange": "Sheet1!A1:D2", "updates": { "spreadsheetId":SPREADSHEET_ID
, "updatedRange": "Sheet1!A3:D4", "updatedRows": 2, "updatedColumns": 4, "updatedCells": 8, } }
Trang tính thu được sẽ có dạng như sau:
A | B | C | D | |
1 | Mục | Chi phí | Còn hàng | Ngày giao hàng |
2 | Bánh xe | $20,5 | 4 | 1/3/2016 |
3 | Cửa ra vào | $15 | 2 | 15/3/2016 |
4 | Động cơ | $100 | 1 | Ngày 20 tháng 3 năm 2016 |
5 |