Định dạng cơ bản

API Google Trang tính cho phép bạn cập nhật định dạng của các ô và dải ô trong bảng tính. 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 API Trang tính. Bạn có thể tìm thêm ví dụ về định dạng có điều kiện trong 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ề phản hồi. Các phản hồi 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ể tìm thấy cấu trúc phản hồi cho các ví dụ này trong 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ân biệt ngôn ngữ. Để tìm hiểu cách triển khai tính năng 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_IDSHEET_ID cho biết vị trí 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ề dải ô là Trang_tính1!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 đơn vị tiền tệ, xác thực ô và hạn chế giá trị ô.

Chỉnh sửa đường viền ô

Mã mẫu spreadsheets.batchUpdate sau đây cho biết cách sử dụng UpdateBordersRequest để tạo đường viền trên và dưới màu xanh dương, 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 ô. Việc bỏ qua trường này sẽ dẫn đến việc đường viền chỉ được thêm vào đầu và cuối của toàn bộ dải ô.

Bảng 3x3, trong đó mỗi ô có đường viền trên và dưới màu xanh dương, nét đứt.
Hình 1. Định dạng mỗi ô bằng đường viền trên và dưới màu xanh dương, nét đứt trong một trang tính.

Giao thức yêu cầu được hiển thị 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ã mẫu spreadsheets.batchUpdate sau đây cho biết cách sử dụng RepeatCellRequest để định dạng hàng tiêu đề trong một trang tính. Yêu cầu đầu tiên 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 đậm văn bản. 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.

Bảng 3x3 có hàng tiêu đề được định dạng trong một trang tính.
Hình 2. Định dạng hàng tiêu đề trong trang tính.

Giao thức yêu cầu được hiển thị 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, trong khi vẫn tách các hàng.

Bảng 3x3 có các ô được hợp nhất trong một trang tính.
Hình 3. Hợp nhất các ô trong một trang tính.

Giao thức yêu cầu được hiển thị 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 định dạng thập phân tuỳ chỉnh cho một dải ô

Mã mẫu 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: "2: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 với dấu phân cách dấu phẩy, phải có 4 chữ số sau dấu thập phân và tất cả các số 0 ở đầu trừ một số 0 phải bị loại bỏ. Ví dụ: số "3,14" được hiển thị là "3,1400", trong khi "12345,12345" được hiển thị là "12.345,1235".

Bảng 3x3 có định dạng ngày giờ và số tuỳ chỉnh trong một trang tính.
Hình 4. Cập nhật các ô để có định dạng ngày giờ và số tuỳ chỉnh trong một trang tính.

Giao thức yêu cầu được hiển thị 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"
      }
    }
  ]
}