Toán tử bảng

API Google Trang trình bày cho phép bạn tạo và chỉnh sửa bảng trên các trang. Các ví dụ trên trang này cho thấy một số thao tác phổ biến trên bảng bằng phương thức presentations.batchUpdate.

Các ví dụ này sử dụng các biến sau:

  • PRESENTATION_ID – Cho biết vị trí bạn cung cấp mã nhận dạng bản trình bày. Bạn có thể khám phá giá trị của mã nhận dạng này từ URL của bản trình bày.
  • PAGE_ID – Cho biết nơi bạn cung cấp mã nhận dạng đối tượng trang. Bạn có thể truy xuất giá trị cho thông tin này từ URL hoặc bằng cách sử dụng yêu cầu đọc API.
  • TABLE_ID – Cho biết vị trí bạn cung cấp mã nhận dạng đối tượng thành phần trang cho bảng mà bạn đang xử lý. Bạn có thể chỉ định mã nhận dạng này cho các phần tử mà bạn tạo (với một số hạn chế) hoặc cho phép API Trang trình bày tự động tạo mã nhận dạng. Bạn có thể truy xuất mã nhận dạng phần tử thông qua yêu cầu đọc API.

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

Tạo bảng

Mã mẫu presentations.batchUpdate sau đây cho biết cách sử dụng phương thức CreateTableRequest để thêm bảng vào một trang trình bày do PAGE_ID chỉ định.

Bảng này có 8 hàng và 5 cột. Xin lưu ý rằng API Trang trình bày sẽ bỏ qua mọi trường size hoặc transform được cung cấp trong elementProperties. Thay vào đó, API sẽ tạo một bảng gần như ở giữa trang trình bày và có kích thước phù hợp với số lượng hàng và cột đã chỉ định (nếu có thể).

Sau đây là giao thức yêu cầu để tạo bảng:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createTable": {
        "objectId": TABLE_ID,
        "elementProperties": {
          "pageObjectId": PAGE_ID,
        },
        "rows": 8,
        "columns": 5
      }
    }
  ]
}

Xoá hàng hoặc cột trong bảng

Mã mẫu presentations.batchUpdate sau đây cho biết cách sử dụng phương thức DeleteTableRowRequest để xoá hàng thứ sáu. Sau đó, hàm này sử dụng phương thức DeleteTableColumnRequest để xoá cột thứ tư. Bảng được chỉ định bằng TABLE_ID. Cả rowIndexcolumnIndex trong cellLocation đều dựa trên số 0.

Sau đây là giao thức yêu cầu để xoá hàng hoặc cột trong bảng:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "deleteTableRow": {
        "tableObjectId": TABLE_ID,
        "cellLocation": {
          "rowIndex": 5
        }
      }
    },
    {
      "deleteTableColumn": {
        "tableObjectId": TABLE_ID,
        "cellLocation": {
          "columnIndex": 3
        }
      }
    }
  ]
}

Chỉnh sửa dữ liệu trong bảng

Mã mẫu presentations.batchUpdate sau đây cho biết cách sử dụng phương thức DeleteTextRequest để xoá tất cả văn bản trong một ô trong textRange. Sau đó, lớp này sử dụng phương thức InsertTextRequest để thay thế văn bản đó bằng văn bản mới "Kangaroo".

Bảng được chỉ định bởi TABLE_ID. Ô bị ảnh hưởng nằm ở hàng thứ năm và cột thứ ba. Cả rowIndexcolumnIndex trong cellLocation đều dựa trên số 0.

Sau đây là giao thức yêu cầu để chỉnh sửa dữ liệu bảng:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "deleteText": {
        "objectId": TABLE_ID,
        "cellLocation": {
          "rowIndex": 4,
          "columnIndex": 2
        },
        "textRange": {
          "type": "ALL",
        }
      }
    },
    {
      "insertText": {
        "objectId": TABLE_ID,
        "cellLocation": {
          "rowIndex": 4,
          "columnIndex": 2
        },
        "text": "Kangaroo",
        "insertionIndex": 0
      }
    }
  ]
}

Định dạng hàng tiêu đề của bảng

Mã mẫu presentations.batchUpdate sau đây cho biết cách sử dụng phương thức UpdateTableCellPropertiesRequest để định dạng hàng tiêu đề của một phần tử bảng, trong tableRange do TABLE_ID chỉ định. Sau đó, hàm này sử dụng phương thức TableCellProperties để đặt màu nền của hàng tiêu đề thành màu đen.

Mỗi yêu cầu sau đây sử dụng phương thức UpdateTextStyleRequest để đặt định dạng văn bản trong một ô của hàng tiêu đề thành phông chữ Cambria đậm, màu trắng, cỡ chữ 18 trong textRange. Sau đó, bạn cần lặp lại yêu cầu này cho mỗi ô bổ sung trong tiêu đề.

Cả rowIndexcolumnIndex trong locationcellLocation đều dựa trên số 0.

Sau đây là giao thức yêu cầu để định dạng hàng tiêu đề bảng:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateTableCellProperties": {
        "objectId": TABLE_ID,
        "tableRange": {
          "location": {
            "rowIndex": 0,
            "columnIndex": 0
          },
          "rowSpan": 1,
          "columnSpan": 3
        },
        "tableCellProperties": {
          "tableCellBackgroundFill": {
            "solidFill": {
              "color": {
                "rgbColor": {
                  "red": 0.0,
                  "green": 0.0,
                  "blue": 0.0
                }
              }
            }
          }
        },
        "fields": "tableCellBackgroundFill.solidFill.color"
      }
    },
    {
      "updateTextStyle": {
        "objectId": TABLE_ID,
        "cellLocation": {
          "rowIndex": 0,
          "columnIndex": 0
        },
        "style": {
          "foregroundColor": {
            "opaqueColor": {
              "rgbColor": {
                "red": 1.0,
                "green": 1.0,
                "blue": 1.0
              }
            }
          },
          "bold": true,
          "fontFamily": "Cambria",
          "fontSize": {
            "magnitude": 18,
            "unit": "PT"
          }
        },
        "textRange": {
          "type": "ALL"
        },
        "fields": "foregroundColor,bold,fontFamily,fontSize"
      }
    },
    // Repeat the above request for each additional cell in the header row....
  ]
}

Dưới đây là giao diện của hàng tiêu đề được định dạng sau các nội dung cập nhật này:

Định dạng kết quả công thức nấu ăn trong hàng tiêu đề.

Chèn hàng hoặc cột của bảng

Mã mẫu presentations.batchUpdate sau đây cho biết cách sử dụng phương thức InsertTableRowsRequest để thêm ba hàng bên dưới hàng thứ sáu. Sau đó, hàm này sử dụng phương thức InsertTableColumnsRequest để thêm hai cột ở bên trái cột thứ tư trong cùng một bảng.

Bảng được chỉ định bởi TABLE_ID. Cả rowIndexcolumnIndex trong cellLocation đều dựa trên số 0.

Sau đây là giao thức yêu cầu để chèn hàng hoặc cột bảng:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "insertTableRows": {
        "tableObjectId": TABLE_ID,
        "cellLocation": {
          "rowIndex": 5
        },
        "insertBelow": true,
        "number": 3
      }
    },
    {
      "insertTableColumns": {
        "tableObjectId": TABLE_ID,
        "cellLocation": {
          "columnIndex": 3
        },
        "insertRight": false,
        "number": 2
      }
    }
  ]
}