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 trang. Ví dụ về Trang này hiển thị một số thao tác phổ biến trên bảng bằng cách sử dụng presentations.batchUpdate .

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

  • PRESENTATION_ID – Cho biết nơi bạn cung cấp bản trình bày Mã nhận dạng. Bạn có thể khám phá giá trị cho mã nhận dạng này từ URL của bản trình bày.
  • PAGE_ID – Cho biết vị trí bạn cung cấp đối tượng trang Mã nhận dạng. Bạn có thể truy xuất giá trị cho việc này từ URL hoặc bằng cách sử dụng yêu cầu đọc API.
  • TABLE_ID—Cho biết nơi bạn cung cấp trang mã đối tượng phần tử cho một mà bạn đang xử lý. Bạn có thể chỉ định mã này cho các thành phần 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 trang trình bày. Mã phần tử có thể được truy xuất thông qua yêu cầu đọc API.

Những ví dụ này được trình bày dưới dạng yêu cầu HTTP nhằm đảm bảo trung lập về ngôn ngữ. Để tìm hiểu cách triển khai việc cập nhật theo lô bằng nhiều ngôn ngữ bằng Google API thư viện ứng dụng, hãy xem Thêm hình dạng và văn bản.

Tạo bảng

Nội dung sau đây presentations.batchUpdate mã mẫu cho biết cách sử dụng CreateTableRequest để thêm một 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. Lưu ý rằng API Trang trình bày bỏ qua mọi trường size hoặc transform được cung cấp như một phần của elementProperties. Thay vào đó, API sẽ tạo một bảng gần như nằm ở 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 được 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 của bảng

Nội dung sau đây presentations.batchUpdate mã mẫu cho biết cách sử dụng DeleteTableRowRequest để xoá hàng thứ sáu. Sau đó, dịch vụ này sử dụng DeleteTableColumnRequest để xoá cột thứ tư. Bảng được chỉ định bởi TABLE_ID. Cả rowIndexcolumnIndex trong cellLocation dựa trên 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 bảng

Nội dung sau đây presentations.batchUpdate mã mẫu cho biết cách sử dụng DeleteTextRequest để xóa tất cả văn bản trong một ô trong textRange. Nó sau đó sử dụng InsertTextRequest để thay thế bằng văn bản mới là "Kangaroo".

Bảng này do TABLE_ID chỉ định. Ô bị ảnh hưởng nằm trong hàng thứ năm và cột thứ ba. Cả rowIndexcolumnIndex trong cellLocation dựa trên 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 đề bảng

Nội dung sau đây presentations.batchUpdate mã mẫu cho biết cách sử dụng 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 đó, dịch vụ này sử dụng 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 UpdateTextStyleRequest phương pháp để đặt định dạng văn bản trong một ô của hàng tiêu đề thành kiểu in đậm 18-pt màu trắng Phông chữ Cambria trong textRange. Bạn thì cần lặp lại yêu cầu này cho từng ô bổ sung trong tiêu đề.

Cả rowIndexcolumnIndex trong locationcellLocation dựa trên 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....
  ]
}

Sau đây là giao diện của hàng tiêu đề được định dạng sau những lần cập nhật này:

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

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

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

Bảng này do TABLE_ID chỉ định. Cả rowIndexcolumnIndex trong cellLocation đều dựa trên 0.

Sau đây là giao thức yêu cầu chèn hàng hoặc cột trong 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
      }
    }
  ]
}