Google Sheets API を使用すると、ページ上で表を作成、編集できます。このページの例では、presentations.batchUpdate
メソッドを使用した一般的なテーブル オペレーションを示しています。
これらの例では、次の変数を使用します。
- PRESENTATION_ID - プレゼンテーション ID を指定する場所を示します。この ID の値はプレゼンテーションの URL で確認できます。
- PAGE_ID - ページ オブジェクト ID を指定する場所を示します。この値は、URL から、または API 読み取りリクエストを使用して取得できます。
- TABLE_ID - 作業するテーブルのページ要素オブジェクト ID を指定する場所を示します。作成する要素にこの ID を指定するか(一定の制限があります)、Slides API で自動的にこの ID を作成することも可能です。要素 ID は API 読み取りリクエストで取得できます。
これらの例では、言語に依存しない HTTP リクエストとして記載しています。Google API クライアント ライブラリを使用してさまざまな言語でバッチ アップデートを実装する方法については、シェイプとテキストの追加をご覧ください。
テーブルを作成する
次の presentations.batchUpdate
コードサンプルは、CreateTableRequest
メソッドを使用して、PAGE_ID で指定されたスライドに表を追加する方法を示しています。
このテーブルは 8 行 5 列です。なお、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
メソッドを使用して 6 番目の行を削除する方法を示しています。次に、DeleteTableColumnRequest
メソッドを使用して 4 番目の列を削除します。テーブルは TABLE_ID で指定されます。cellLocation
内の rowIndex
と columnIndex
はどちらもゼロベースです。
テーブルの行または列を削除するリクエスト プロトコルは次のとおりです。
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 で指定されます。影響を受けるセルは 5 行目と 3 列目にあります。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
コードサンプルは、TABLE_ID で指定された tableRange
内で、UpdateTableCellPropertiesRequest
メソッドを使用してテーブル要素のヘッダー行を書式設定する方法を示しています。次に、TableCellProperties
メソッドを使用して、ヘッダー行の背景色を黒に設定します。
その後の各リクエストでは、UpdateTextStyleRequest
メソッドを使用して、ヘッダー行の 1 つのセルのテキスト形式を、textRange
内で太字の 18 pt カンブリア フォントに設定します。ヘッダーに追加するセルごとにこのリクエストを繰り返す必要があります。
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
メソッドを使用して、6 行目の下に 3 行を追加する方法を示しています。次に、InsertTableColumnsRequest
メソッドを使用して、同じテーブルの 4 番目の列の左側に 2 つの列を追加します。
テーブルは 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 } } ] }