Toán tử dữ liệu

API Google Trang tính cho phép bạn thao tác với dữ liệu trong bảng tính theo nhiều cách. Hầu hết các chức năng có sẵn cho người dùng làm việc với giao diện người dùng Trang tính cũng có thể thực hiện được với API Trang tính. Các ví dụ trên trang này minh hoạ cách bạn có thể thực hiện một số thao tác phổ biến trên bảng 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.

Áp dụng xác thực dữ liệu cho một dải ô

Mã mẫu spreadsheets.batchUpdate sau đây cho biết cách sử dụng SetDataValidationRequest để áp dụng quy tắc xác thực dữ liệu, trong đó "giá trị > 5" cho mọi ô trong dải ô A1:D10.

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": [
    {
      "setDataValidation": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 4
        },
        "rule": {
          "condition": {
            "type": "NUMBER_GREATER",
            "values": [
              {
                "userEnteredValue": "5"
              }
            ]
          },
          "inputMessage": "Value must be > 5",
          "strict": true
        }
      }
    }
  ]
}

Sao chép và dán định dạng ô

Mã mẫu spreadsheets.batchUpdate sau đây cho biết cách sử dụng CopyPasteRequest để chỉ sao chép định dạng trong dải ô A1:D10 và dán vào dải ô F1:I10 trong cùng một trang tính. Phương thức này sử dụng enum PasteType cùng với PASTE_FORMAT để chỉ dán định dạng và xác thực dữ liệu. Các giá trị ban đầu trong A1:D10 vẫn không thay đổi.

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": [
    {
      "copyPaste": {
        "source": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 4
        },
        "destination": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 5,
          "endColumnIndex": 9
        },
        "pasteType": "PASTE_FORMAT",
        "pasteOrientation": "NORMAL"
      }
    }
  ]
}

Cắt và dán ô

Mã mẫu spreadsheets.batchUpdate sau đây cho biết cách sử dụng CutPasteRequest. Thao tác này cắt dải ô A1:D10 và sử dụng enum PasteType với PASTE_NORMAL để dán các giá trị, công thức, định dạng và hợp nhất vào dải ô F1:I10 trong cùng một trang tính. Nội dung ô dải ô nguồn ban đầu sẽ bị xoá.

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": [
    {
      "cutPaste": {
        "source": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 4
        },
        "destination": {
          "sheetId": SHEET_ID,
          "rowIndex": 0,
          "columnIndex": 5
        },
        "pasteType": "PASTE_NORMAL"
      }
    }
  ]
}

Lặp lại công thức trên một dải ô

Mã mẫu spreadsheets.batchUpdate sau đây cho biết cách sử dụng RepeatCellRequest để sao chép công thức =FLOOR(A1*PI()) vào dải ô B1:D10. Dải ô của công thức sẽ tự động tăng lên cho từng hàng và cột trong dải ô, bắt đầu với ô ở trên bên trái. Ví dụ: ô B1 có công thức =FLOOR(A1*PI()), trong khi ô D6 có công thức =FLOOR(C6*PI()).

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": 1,
          "endColumnIndex": 4
        },
        "cell": {
          "userEnteredValue": {
              "formulaValue": "=FLOOR(A1*PI())"
          }
        },
        "fields": "userEnteredValue"
      }
    }
  ]
}

Sắp xếp một dải ô với nhiều thông số kỹ thuật sắp xếp

Mã mẫu spreadsheets.batchUpdate sau đây cho biết cách sử dụng SortRangeRequest để sắp xếp dải ô A1:D10, trước tiên là theo cột B theo thứ tự tăng dần, sau đó theo cột C theo thứ tự giảm dần, sau đó là theo cột D theo thứ tự giảm dần.

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": [
    {
      "sortRange": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 4
        },
        "sortSpecs": [
          {
            "dimensionIndex": 1,
            "sortOrder": "ASCENDING"
          },
          {
            "dimensionIndex": 2,
            "sortOrder": "DESCENDING"
          },
          {
            "dimensionIndex": 3,
            "sortOrder": "DESCENDING"
          }
        ]
      }
    }
  ]
}