Mit der Google Slides API können Sie Tabellen auf Seiten erstellen und bearbeiten. Die Beispiele auf dieser Seite zeigen einige häufig verwendete Tabellenvorgänge mit der Methode presentations.batchUpdate
.
In diesen Beispielen werden die folgenden Variablen verwendet:
- PRESENTATION_ID: Gibt an, wo Sie die Präsentations-ID angeben. Den Wert für diese ID finden Sie in der Präsentations-URL.
- PAGE_ID: Gibt an, wo Sie die Seitenobjekt-IDs angeben. Sie können den Wert dafür aus der URL oder mit einer API-Leseanfrage abrufen.
- TABLE_ID: Gibt an, wo Sie die Objekt-ID des Seitenelements für eine Tabelle angeben, mit der Sie arbeiten. Sie können diese ID für Elemente angeben, die Sie erstellen (mit einigen Einschränkungen), oder die Slides API automatisch eine ID erstellen lassen. Element-IDs können über eine API-Leseanfrage abgerufen werden.
Diese Beispiele werden als HTTP-Anfragen dargestellt, um sprachneutral zu sein. Weitere Informationen zum Implementieren einer Batch-Aktualisierung in verschiedenen Sprachen mit den Google API-Clientbibliotheken
Tabelle erstellen
Im folgenden Codebeispiel presentations.batchUpdate
wird gezeigt, wie Sie mit der Methode CreateTableRequest
einer Folie, die durch PAGE_ID angegeben wird, eine Tabelle hinzufügen.
Diese Tabelle hat acht Zeilen und fünf Spalten. Die Slides API ignoriert alle size
- oder transform
-Felder, die als Teil von elementProperties
angegeben werden.
Stattdessen wird mit der API eine Tabelle erstellt, die ungefähr in der Mitte der Folie platziert und so dimensioniert wird, dass sie die angegebene Anzahl von Zeilen und Spalten aufnehmen kann, sofern dies möglich ist.
Das Anfrageprotokoll zum Erstellen einer Tabelle sieht so aus:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createTable": { "objectId": TABLE_ID, "elementProperties": { "pageObjectId": PAGE_ID, }, "rows": 8, "columns": 5 } } ] }
Tabellenzeilen oder ‑spalten löschen
Das folgende presentations.batchUpdate
-Codebeispiel zeigt, wie Sie die Methode DeleteTableRowRequest
verwenden, um die sechste Zeile zu entfernen. Anschließend wird mit der Methode DeleteTableColumnRequest
die vierte Spalte entfernt. Die Tabelle wird durch TABLE_ID angegeben. Sowohl rowIndex
als auch columnIndex
innerhalb von cellLocation
sind nullbasiert.
Das Anfrageprotokoll zum Löschen von Tabellenzeilen oder ‑spalten sieht so aus:
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 } } } ] }
Tabellendaten bearbeiten
Im folgenden presentations.batchUpdate
-Codebeispiel wird gezeigt, wie Sie mit der Methode DeleteTextRequest
den gesamten Text in einer Zelle innerhalb von textRange
entfernen. Anschließend wird mit der Methode InsertTextRequest
der alte Text durch den neuen Text „Kangaroo“ ersetzt.
Die Tabelle wird durch TABLE_ID angegeben. Die betroffene Zelle befindet sich in der fünften Zeile und dritten Spalte. Sowohl rowIndex
als auch columnIndex
innerhalb von cellLocation
sind nullbasiert.
Im Folgenden finden Sie das Anfrageprotokoll zum Bearbeiten von Tabellendaten:
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 } } ] }
Überschriftszeile einer Tabelle formatieren
Das folgende presentations.batchUpdate
-Codebeispiel zeigt, wie Sie die Methode UpdateTableCellPropertiesRequest
verwenden, um die Kopfzeile eines Tabellenelements innerhalb des tableRange
zu formatieren, das durch TABLE_ID angegeben wird. Anschließend wird mit der Methode TableCellProperties
die Hintergrundfarbe der Kopfzeile auf Schwarz festgelegt.
Bei jeder nachfolgenden Anfrage wird mit der Methode UpdateTextStyleRequest
das Textformat in einer Zelle der Kopfzeile auf fett, weiß und 18 Punkt in der Schriftart Cambria innerhalb von textRange
festgelegt. Sie müssen diese Anfrage dann für jede zusätzliche Zelle im Header wiederholen.
Sowohl rowIndex
als auch columnIndex
in location
und cellLocation
sind nullbasiert.
Das folgende Protokoll beschreibt, wie Sie eine Tabellenüberschriftenzeile formatieren:
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.... ] }
So sieht die formatierte Kopfzeile nach diesen Änderungen aus:
Tabellenzeilen oder ‑spalten einfügen
Das folgende presentations.batchUpdate
-Codebeispiel zeigt, wie Sie mit der Methode InsertTableRowsRequest
drei Zeilen unter der sechsten Zeile einfügen. Anschließend werden mit der Methode InsertTableColumnsRequest
zwei Spalten links von der vierten Spalte in derselben Tabelle hinzugefügt.
Die Tabelle wird durch TABLE_ID angegeben. Sowohl rowIndex
als auch columnIndex
innerhalb von cellLocation
sind nullbasiert.
Das folgende Protokoll wird verwendet, um Tabellenzeilen oder ‑spalten einzufügen:
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 } } ] }