Toán tử trang tính

API Google Trang tính cho phép bạn tạo, xoá, sao chép và xoá trang tính, đồng thời kiểm soát các thuộc tính của các trang tính đó. Các ví dụ trên trang này minh hoạ cách bạn có thể đạt được một số thao tác phổ biến trên Trang tính bằng API Trang tính.

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.

Thêm trang tính

Mã mẫu spreadsheets.batchUpdate sau đây cho biết cách sử dụng AddSheetRequest để thêm trang tính vào bảng tính, đồng thời đặt tiêu đề, kích thước lưới và màu thẻ.

Phản hồi bao gồm AddSheetResponse, chứa một đối tượng có các thuộc tính của trang tính đã tạo (chẳng hạn như SHEET_ID).

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": [
    {
      "addSheet": {
        "properties": {
          "title": "Deposits",
          "gridProperties": {
            "rowCount": 20,
            "columnCount": 12
          },
          "tabColor": {
            "red": 1.0,
            "green": 0.3,
            "blue": 0.4
          }
        }
      }
    }
  ]
}

Xoá một trang tính chứa tất cả các giá trị mà vẫn giữ nguyên định dạng

Mã mẫu spreadsheets.batchUpdate sau đây cho biết cách sử dụng UpdateCellsRequest để xoá tất cả giá trị khỏi trang tính trong khi vẫn giữ nguyên định dạng.

Việc chỉ định trường userEnteredValue mà không có giá trị tương ứng sẽ được hiểu là lệnh xoá các giá trị trong dải ô. Bạn cũng có thể sử dụng chế độ cài đặt này với các trường khác. Ví dụ: việc thay đổi giá trị fields thành userEnteredFormat sẽ xoá mọi định dạng mà API Trang tính hỗ trợ khỏi trang tính nhưng vẫn giữ nguyên các giá trị của ô.

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": [
    {
      "updateCells": {
        "range": {
          "sheetId": SHEET_ID
        },
        "fields": "userEnteredValue"
      }
    }
  ]
}

Sao chép trang tính từ một bảng tính sang bảng tính khác

Mã mẫu spreadsheet.sheets.copyTo sau đây cho biết cách sao chép một trang tính do SHEET_ID chỉ định từ một bảng tính sang một bảng tính khác.

Biến TARGET_SPREADSHEET_ID trong nội dung yêu cầu chỉ định bảng tính đích. Bản sao giữ lại tất cả giá trị, định dạng, công thức và các thuộc tính khác của bản gốc. Tiêu đề của trang tính được sao chép được đặt thành "Bản sao của [tiêu đề trang tính gốc]".

Phản hồi bao gồm một đối tượng SheetProperties mô tả các thuộc tính của trang tính được tạo.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/sheets/SHEET_ID:copyTo
{
  "destinationSpreadsheetId": "TARGET_SPREADSHEET_ID"
}

Xoá trang tính

Mã mẫu spreadsheets.batchUpdate sau đây cho biết cách sử dụng DeleteSheetRequest để xoá trang tính do SHEET_ID chỉ đị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": [
    {
      "deleteSheet": {
        "sheetId": SHEET_ID
      }
    }
  ]
}

Đọc dữ liệu trang tính

Mã mẫu spreadsheets.get sau đây cho biết cách lấy thông tin thuộc tính trang tính từ bảng tính, do SHEET_IDSPREADSHEET_ID chỉ định. Phương thức này thường dùng để xác định siêu dữ liệu của các trang tính trong một bảng tính cụ thể, nhờ vậy, các thao tác bổ sung có thể nhắm đến các trang tính đó. Tham số truy vấn fields chỉ định chỉ trả về dữ liệu thuộc tính trang tính (trái ngược với dữ liệu giá trị ô hoặc dữ liệu liên quan đến toàn bộ bảng tính).

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?&fields=sheets.properties

Phản hồi bao gồm một tài nguyên Spreadsheet, trong đó có một đối tượng Sheet có các phần tử SheetProperties. Nếu một trường phản hồi nhất định được đặt thành giá trị mặc định, thì trường đó sẽ bị loại khỏi phản hồi.

{
  "sheets": [
    {
      "properties": {
        "sheetId": SHEET_ID,
        "title": "Sheet1",
        "index": 0,
        "sheetType": "GRID",
        "gridProperties": {
          "rowCount": 100,
          "columnCount": 20,
          "frozenRowCount": 1
        }
        "tabColor": {
          "blue": 1.0
        }
      },
      ...
  ],
}