Thao tác với hàng và cột

Google Trang tính API cho phép bạn thêm, xoá và thao tác với các hàng và cột trong trang 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 phổ biến trên hàng và cột bằng Sheets API.

Các ví dụ này được trình bày dưới dạng yêu cầu HTTP để không phụ thuộc vào ngôn ngữ. Để tìm hiểu cách triển khai một bản 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í mà 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 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.

Điều chỉnh chiều rộng cột hoặc chiều cao hàng

Mẫu mã spreadsheets.batchUpdate sau đây cho biết cách sử dụng UpdateDimensionPropertiesRequest để cập nhật thuộc tính chiều rộng của cột A thành 160 pixel. Yêu cầu thứ hai cập nhật thuộc tính chiều cao hàng của 3 hàng đầu tiên thành 40 pixel. Trường dimension xác định xem thao tác có áp dụng cho các cột hay hàng của một trang tính hay không.

Giao thức yêu cầu được trình bày bên dưới.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateDimensionProperties": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 0,
          "endIndex": 1
        },
        "properties": {
          "pixelSize": 160
        },
        "fields": "pixelSize"
      }
    },
    {
      "updateDimensionProperties": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        },
        "properties": {
          "pixelSize": 40
        },
        "fields": "pixelSize"
      }
    }
  ]
}

Thêm hàng hoặc cột trống

Mẫu mã spreadsheets.batchUpdate sau đây cho thấy cách sử dụng AppendDimensionRequest để nối các hàng và cột. Yêu cầu đầu tiên sẽ thêm 3 hàng trống vào cuối trang tính, trong khi yêu cầu thứ hai sẽ thêm một cột trống. Trường dimension xác định xem thao tác có áp dụng cho các cột hay hàng của một trang tính hay không.

Giao thức yêu cầu được trình bày bên dưới.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "appendDimension": {
        "sheetId": SHEET_ID,
        "dimension": "ROWS",
        "length": 3
      }
    },
    {
      "appendDimension": {
        "sheetId": SHEET_ID,
        "dimension": "COLUMNS",
        "length": 1
      }
    }
  ]
}

Tự động đổi kích thước cột

Mẫu mã spreadsheets.batchUpdate sau đây cho biết cách sử dụng AutoResizeDimensionsRequest để đổi kích thước các cột A:C, dựa trên kích thước của nội dung cột. Trường dimension cho biết rằng thao tác này áp dụng cho các cột của trang tính.

Giao thức yêu cầu được trình bày bên dưới.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "autoResizeDimensions": {
        "dimensions": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 0,
          "endIndex": 3
        }
      }
    }
  ]
}

Tự động đổi kích thước hàng

Mã mẫu spreadsheets.batchUpdate sau đây cho thấy cách sử dụng AutoResizeDimensionsRequest để xoá chiều cao hàng của 3 hàng đầu tiên. Sau đó, chiều cao hàng sẽ tăng lên một cách linh hoạt dựa trên nội dung của các ô trong mỗi hàng. Trường dimension cho biết rằng thao tác này áp dụng cho các hàng của trang tính.

Giao thức yêu cầu được trình bày bên dưới.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "autoResizeDimensions": {
        "dimensions": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        }
      }
    }
  ]
}

Xóa hàng hoặc cột

Mẫu mã spreadsheets.batchUpdate sau đây cho thấy cách sử dụng DeleteDimensionRequest để xoá 3 hàng đầu tiên trong một trang tính. Yêu cầu thứ hai sẽ xoá các cột B:D. Trường dimension xác định xem thao tác có áp dụng cho các cột hay hàng của một trang tính hay không.

Giao thức yêu cầu được trình bày bên dưới.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "deleteDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        }
      }
    },
    {
      "deleteDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 1,
          "endIndex": 4
        }
      }
    },
  ],
}

Chèn một hàng hoặc cột trống

Đoạn mã mẫu spreadsheets.batchUpdate sau đây cho thấy cách sử dụng InsertDimensionRequest để chèn các cột hoặc hàng tại một chỉ mục cụ thể (chẳng hạn như thêm các hàng trống vào đầu trang tính). Yêu cầu đầu tiên sẽ chèn 2 cột trống vào cột C. Yêu cầu thứ hai chèn 3 hàng trống bắt đầu từ hàng 1.

Trường dimension xác định xem thao tác có áp dụng cho các cột hay hàng của một trang tính hay không.

Nếu đúng, trường inheritFromBefore sẽ yêu cầu API Trang tính cung cấp cho các cột hoặc hàng mới các thuộc tính giống như hàng hoặc cột trước đó và nếu sai, thì sẽ kế thừa từ các phương diện sau các cột hoặc hàng mới. inheritFromBefore không thể là true nếu bạn chèn một hàng vào hàng 1 hoặc một cột vào cột A.

Giao thức yêu cầu được trình bày bên dưới.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "insertDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 2,
          "endIndex": 4
        },
        "inheritFromBefore": true
      }
    },
    {
      "insertDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        },
        "inheritFromBefore": false
      }
    },
  ],
}

Di chuyển hàng hoặc cột

Mã mẫu spreadsheets.batchUpdate sau đây cho biết cách sử dụng MoveDimensionRequest để di chuyển cột A đến vị trí cột D. Yêu cầu thứ hai di chuyển các hàng 5–10 đến vị trí hàng 20.

Trường dimension xác định xem thao tác có áp dụng cho các cột hay hàng của một trang tính hay không. Trường destinationIndex xác định vị trí di chuyển dữ liệu nguồn bằng chỉ mục bắt đầu dựa trên 0.

Giao thức yêu cầu được trình bày bên dưới.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "moveDimension": {
        "source": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 0,
          "endIndex": 1
        },
        "destinationIndex": 3
      }
    },
    {
      "moveDimension": {
        "source": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 4,
          "endIndex": 10
        },
        "destinationIndex": 19
      }
    },
  ],
}