Bạn có thể cập nhật định dạng của các ô và dải ô trong bảng tính bằng Google Sheets API. Các ví dụ trên trang này minh hoạ cách thực hiện một số thao tác định dạng phổ biến bằng Sheets API. Bạn có thể xem thêm ví dụ về tính năng định dạng có điều kiện trên trang công thức Định dạng có điều kiện.
Khi cập nhật bảng tính, một số loại yêu cầu có thể trả về các phản hồi. Các giá trị này được trả về trong một mảng, trong đó mỗi phản hồi chiếm cùng một chỉ mục với yêu cầu tương ứng. Một số yêu cầu không có phản hồi và đối với những yêu cầu đó, phản hồi sẽ trống. Bạn có thể xem cấu trúc phản hồi cho các ví dụ này trong phần spreadsheets.batchUpdate
.
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 cách sử dụng phương thức spreadsheets.get
. Các dải ô được chỉ định bằng ký hiệu A1. Ví dụ về một dải ô là Sheet1!A1:D5.
Trong video trên, bạn sẽ tìm hiểu cách định dạng các ô trong bảng tính theo nhiều cách, bao gồm: tạo hàng cố định, in đậm ô, triển khai định dạng tiền tệ, thực hiện xác thực ô và hạn chế giá trị ô.
Chỉnh sửa đường viền ô
Mẫu mã spreadsheets.batchUpdate
sau đây cho biết cách sử dụng UpdateBordersRequest
để đặt đường viền trên và dưới màu xanh dương, có nét đứt cho mỗi ô trong dải ô A1:F10. Trường innerHorizontal
tạo đường viền ngang ở bên trong dải ô. Nếu bỏ qua trường này, đường viền sẽ chỉ được thêm vào đầu và cuối toàn bộ dả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": [ { "updateBorders": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 6 }, "top": { "style": "DASHED", "width": 1, "color": { "blue": 1.0 }, }, "bottom": { "style": "DASHED", "width": 1, "color": { "blue": 1.0 }, }, "innerHorizontal": { "style": "DASHED", "width": 1, "color": { "blue": 1.0 }, }, } } ] }
Định dạng hàng tiêu đề
Mẫu mã spreadsheets.batchUpdate
sau đây cho biết cách sử dụng RepeatCellRequest
để định dạng một hàng tiêu đề trong một trang tính. Yêu cầu đầu tiên sẽ cập nhật màu văn bản, màu nền, kích thước phông chữ văn bản và căn chỉnh văn bản, đồng thời làm cho văn bản trở nên đậm. Việc bỏ qua chỉ mục cột trong trường range
sẽ khiến toàn bộ hàng được định dạng. Yêu cầu thứ hai điều chỉnh các thuộc tính của trang tính để hàng tiêu đề được cố định.
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": 1 }, "cell": { "userEnteredFormat": { "backgroundColor": { "red": 0.0, "green": 0.0, "blue": 0.0 }, "horizontalAlignment" : "CENTER", "textFormat": { "foregroundColor": { "red": 1.0, "green": 1.0, "blue": 1.0 }, "fontSize": 12, "bold": true } } }, "fields": "userEnteredFormat(backgroundColor,textFormat,horizontalAlignment)" } }, { "updateSheetProperties": { "properties": { "sheetId": SHEET_ID, "gridProperties": { "frozenRowCount": 1 } }, "fields": "gridProperties.frozenRowCount" } } ] }
Hợp nhất ô
Mã mẫu spreadsheets.batchUpdate
sau đây cho biết cách sử dụng MergeCellsRequest
để hợp nhất các ô. Yêu cầu đầu tiên hợp nhất dải ô A1:B2 thành một ô duy nhất. Yêu cầu thứ hai hợp nhất các cột trong A3:B6, đồng thời giữ nguyên các hàng.
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": [ { "mergeCells": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 2, "startColumnIndex": 0, "endColumnIndex": 2 }, "mergeType": "MERGE_ALL" } }, { "mergeCells": { "range": { "sheetId": SHEET_ID, "startRowIndex": 2, "endRowIndex": 6, "startColumnIndex": 0, "endColumnIndex": 2 }, "mergeType": "MERGE_COLUMNS" } }, ] }
Đặt định dạng ngày giờ hoặc số thập phân tuỳ chỉnh cho một dải ô
Mẫu mã spreadsheets.batchUpdate
sau đây cho biết cách sử dụng RepeatCellRequest
để cập nhật các ô có định dạng ngày giờ và số tuỳ chỉnh. Yêu cầu đầu tiên sẽ cung cấp cho các ô trong dải ô A1:A10 định dạng ngày giờ tuỳ chỉnh hh:mm:ss am/pm, ddd mmm dd yyyy
. Ví dụ về ngày giờ ở định dạng này là: "02:05:07 PM, Sun Apr 03 2016".
Yêu cầu thứ hai cung cấp cho các ô trong B1:B10 định dạng số tuỳ chỉnh #,##0.0000
, cho biết rằng các số phải được nhóm bằng dấu phẩy phân cách, phải có 4 chữ số sau dấu thập phân và tất cả trừ một số 0 ở đầu phải bị loại bỏ. Ví dụ: số "3.14" được hiển thị dưới dạng "3.1400", trong khi "12345.12345" được hiển thị dưới dạng "12.345.1235".
Để biết thêm thông tin, hãy xem bài viết Định dạng ngày và số.
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": 0, "endColumnIndex": 1 }, "cell": { "userEnteredFormat": { "numberFormat": { "type": "DATE", "pattern": "hh:mm:ss am/pm, ddd mmm dd yyyy" } } }, "fields": "userEnteredFormat.numberFormat" } }, { "repeatCell": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 1, "endColumnIndex": 2 }, "cell": { "userEnteredFormat": { "numberFormat": { "type": "NUMBER", "pattern": "#,##0.0000" } } }, "fields": "userEnteredFormat.numberFormat" } } ] }