Google Slides API 可讓您在頁面上建立及編輯表格。本頁的範例會說明使用 presentations.batchUpdate
方法的常見表格作業。
這些範例使用下列變數:
- PRESENTATION_ID:指出您提供簡報 ID的位置。您可以從簡報網址中找出這個 ID 的值。
- PAGE_ID:表示您提供頁面物件 ID的位置。您可以從網址或透過 API 讀取要求擷取此值。
- TABLE_ID:指出您要為所用表格提供頁面元素物件 ID的位置。您可以為所建立的元素指定此 ID (並附帶一些限制),或是讓 Slides API 自動建立。您可以透過 API 讀取要求擷取元素 ID。
這些範例會以 HTTP 要求的形式呈現,以便在不同語言中使用。如要瞭解如何使用 Google API 用戶端程式庫,以不同語言實作批次更新,請參閱「新增形狀和文字」一文。
建立表格
以下 presentations.batchUpdate
程式碼範例說明如何使用 CreateTableRequest
方法,在 PAGE_ID 指定的幻燈片中加入資料表。
這個表格有八列和五欄。請注意,幻燈片 API 會忽略 elementProperties
中提供的任何 size
或 transform
欄位。相反地,API 會建立一個大致位於投影片中間的資料表,並盡可能調整大小,以便容納指定的列數和欄數。
以下是建立資料表的請求通訊協定:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createTable": { "objectId": TABLE_ID, "elementProperties": { "pageObjectId": PAGE_ID, }, "rows": 8, "columns": 5 } } ] }
刪除表格列或欄
以下 presentations.batchUpdate
程式碼範例說明如何使用 DeleteTableRowRequest
方法移除第六列。然後使用 DeleteTableColumnRequest
方法移除第四欄。資料表是由 TABLE_ID 指定。cellLocation
中的 rowIndex
和 columnIndex
都是以 0 為基底。
以下是刪除表格資料列或欄的請求通訊協定:
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 } } } ] }
編輯資料表資料
以下 presentations.batchUpdate
程式碼範例說明如何使用 DeleteTextRequest
方法,移除 textRange
內儲存格中的所有文字。然後使用 InsertTextRequest
方法,將其替換為「Kangaroo」的新文字。
資料表是由 TABLE_ID 指定。受影響的儲存格位於第五列和第三欄。cellLocation
中的 rowIndex
和 columnIndex
都是以零為基礎。
以下是編輯表格資料的要求通訊協定:
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 } } ] }
設定表格標頭列的格式
以下 presentations.batchUpdate
程式碼範例說明如何使用 UpdateTableCellPropertiesRequest
方法,在 TABLE_ID 指定的 tableRange
中,為表格元素的標題列設定格式。接著,使用 TableCellProperties
方法將標題列的背景顏色設為黑色。
以下每個要求都會使用 UpdateTextStyleRequest
方法,將標頭列中一個儲存格的文字格式設為 textRange
中的粗體白色 18 點 Cambria 字型。接著,您需要針對標頭中的每個額外儲存格重複這項要求。
location
和 cellLocation
中的 rowIndex
和 columnIndex
都以零為基準。
以下是設定表格標題列格式的要求通訊協定:
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.... ] }
更新後的標題列格式如下:
插入表格列或欄
以下 presentations.batchUpdate
程式碼範例說明如何使用 InsertTableRowsRequest
方法,在第六列下方新增三列。接著,它會使用 InsertTableColumnsRequest
方法,在同一張表格的第四欄左側新增兩個欄。
資料表是由 TABLE_ID 指定。cellLocation
中的 rowIndex
和 columnIndex
都是以零為基準。
以下是插入表格資料列或欄的要求通訊協定:
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 } } ] }