Đị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 một số thao tác định dạng phổ biến có thể thực hiện được bằng API Trang tính. Bạn có thể tìm thêm các ví dụ về đị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ề 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 đó thì 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 các yêu cầu HTTP để đảm bảo trung lập về ngôn ngữ. Để tìm hiểu cách triển khai tính năng cập nhật theo lô cho 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 nơi bạn sẽ cung cấp các mã nhận dạng đó. Bạn có thể tìm thấy mã 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. 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, chẳng hạn như: tạo hàng cố định, in đậm ô, triển khai định dạng đơn vị tiền tệ, xác thực ô và giới hạn 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 để tạo cho mỗi ô trong dải ô A1:F10 một đường viền nét đứt có màu xanh dương trên cùng và dưới cùng. Trường innerHorizontal tạo đường viền ngang bên trong dải ô. Nếu bạn bỏ qua trường này, đường viền chỉ được thêm vào đầu và cuối toàn bộ dải ô.

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

Giao thức yêu cầu được trình bày 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, kích thước phông chữ và lý do của văn bản, đồng thời làm cho văn bản được in đậm. 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 các thuộc tính trang tính để hàng tiêu đề bị cố định.

Bảng 3 x 3 có hàng tiêu đề được định dạng trong 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 trình bày 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 sẽ hợp nhất các cột trong A3:B6, đồng thời tách các hàng.

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

Giao thức yêu cầu được trình bày 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 đị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 và số tuỳ chỉnh. Yêu cầu đầu tiên cung cấp 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. Một ví dụ về ngày giờ ở định dạng này là: "02:05:07 PM, Chủ Nhật ngày 3 tháng 4 năm 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ân tách 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", trong khi "12345,12345" hiển thị là "12,345,1235".

Bảng 3 x 3 có định dạng ngày 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 và số tuỳ chỉnh trong trang tính.

Giao thức yêu cầu được trình bày 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"
      }
    }
  ]
}