Đị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 dữ liệu 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 trống. Bạn có thể xem cấu trúc phản hồi cho các ví dụ này trong spreadsheets.batchUpdate.

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_IDSHEET_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.

Trong video trên, bạn 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ệ, thực hiện xác thực ô và hạn chế giá trị của ô.

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

Mã mẫu spreadsheets.batchUpdate sau đây cho biết cách sử dụng UpdateBordersRequest để cung cấp cho mỗi ô trong phạm vi A1:F10 một đường viền trên cùng và dưới cùng có màu xanh dương bị gạch ngang. Trường innerHorizontal tạo đường viền ngang ở bên trong phạm vi. Nếu bạn bỏ qua trường này, các đường viền chỉ được thêm vào phần đầu và cuối của toàn bộ dải ô.

Bảng 3 x 3, trong đó mỗi ô có đường viền trên cùng và dưới cùng màu xanh dương bị gạch ngang.
Hình 1. Định dạng mỗi ô bằng một đường gạch ngang màu xanh dương trên cùng và dưới cùng trong trang 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": [
    {
      "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 trang tính. Yêu cầu đầu tiên cập nhật màu văn bản, màu nền, cỡ chữ văn bản và lý do văn bản, đồng thời làm đậm văn bản. Việc bỏ qua các 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 thuộc tính trang tính để hàng tiêu đề được cố định.

Bảng 3:3 có một 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ị dưới đây.

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 để tách các hàng.

Bảng 3 x 3 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ị dưới đây.

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 ngày giờ tùy chỉnh hoặc định dạng thập phân cho một phạm vi

Mã mẫu spreadsheets.batchUpdate sau đây cho biết cách sử dụng RepeatCellRequest để cập nhật các ô nhằm có định dạng số và ngày giờ tuỳ chỉnh. Yêu cầu đầu tiên cung cấp các ô trong dải ô A1:A10 có định dạng ngày giờ tuỳ chỉnh hh:mm:ss am/pm, ddd mmm dd yyyy. Ngày giờ mẫu ở định dạng này là: "02:05:07 PM, Sun May 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 tách bằng dấu phẩy, phải có 4 chữ số sau dấu thập phân và phải bỏ tất cả trừ một số 0 ở đầu. Ví dụ: số "3,14" hiển thị là "3.1400", còn "12345.12345" hiển thị là "12.345.1235".

Bảng 3 x 3 có định dạng số và ngày giờ tuỳ chỉnh trong một trang tính.
Hình 4. Cập nhật các ô để có định dạng số và ngày giờ tuỳ chỉnh trong trang 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": [
    {
      "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"
      }
    }
  ]
}