Interfejs API Google Slides umożliwia tworzenie i edytowanie tabel na stronach. Przykłady na tej stronie pokazują typowe operacje na tabelach wykonywane za pomocą metody presentations.batchUpdate
.
W poniższych przykładach używane są te zmienne:
- PRESENTATION_ID—wskazuje, gdzie należy podać identyfikator prezentacji. Wartość tego identyfikatora możesz znaleźć w adresie URL prezentacji.
- PAGE_ID—Wskazuje, gdzie należy podać identyfikatory obiektów strony. Wartość tę można pobrać z adresu URL lub za pomocą żądania odczytu interfejsu API.
- TABLE_ID – wskazuje miejsce, w którym podajesz identyfikator obiektu elementu strony używanej przez Ciebie tabeli. Możesz określić ten identyfikator dla tworzonych elementów (z pewnymi ograniczeniami) lub zezwolić interfejsowi Prezentacji API na jego automatyczne tworzenie. Identyfikatory elementów można pobrać za pomocą żądania odczytu interfejsu API.
Te przykłady są przedstawione jako żądania HTTP, aby były neutralne pod względem języka. Aby dowiedzieć się, jak zaimplementować aktualizację zbiorczą w różnych językach za pomocą bibliotek klienta interfejsu Google API, przeczytaj artykuł Dodawanie kształtów i tekstu.
Tworzenie tabeli
Ten przykładowy kod presentations.batchUpdate
pokazuje, jak za pomocą metody CreateTableRequest
dodać tabelę do slajdu określonego przez zmienną PAGE_ID.
Ta tabela ma 8 wierszy i 5 kolumn. Pamiętaj, że interfejs Prezentacji API ignoruje pola size
i transform
podane w elementProperties
.
Zamiast tego interfejs API tworzy tabelę, która jest w przybliżeniu wyśrodkowana na slajdzie i ma rozmiar umożliwiający umieszczenie w niej określonej liczby wierszy i kolumn (o ile to możliwe).
Aby utworzyć tabelę, użyj protokołu żądania:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createTable": { "objectId": TABLE_ID, "elementProperties": { "pageObjectId": PAGE_ID, }, "rows": 8, "columns": 5 } } ] }
Usuwanie wierszy i kolumn tabeli
Poniższy przykładowy kod presentations.batchUpdate
pokazuje, jak za pomocą metody DeleteTableRowRequest
usunąć szósty wiersz. Następnie używa metody DeleteTableColumnRequest
do usunięcia czwartej kolumny. Tabela jest określana przez parametr TABLE_ID. Wartości atrybutów rowIndex
i columnIndex
w atrybucie cellLocation
są wyrażone w odniesieniu do zera.
Oto protokół żądania usunięcia wierszy lub kolumn tabeli:
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 } } } ] }
Edytowanie danych tabeli
Poniższy przykładowy kod presentations.batchUpdate
pokazuje, jak za pomocą metody DeleteTextRequest
usunąć cały tekst z komórki wewnątrz textRange
. Następnie używa metody InsertTextRequest
, aby zastąpić go nowym tekstem „Kangur”.
Tabela jest określana przez parametr TABLE_ID. Komórka, której dotyczy problem, znajduje się w 5. wierszu i 3. kolumnie. Wartości rowIndex
i columnIndex
w elementach cellLocation
są podawane w systemie dziesiętnym.
Oto protokół żądania służący do edytowania danych w tabeli:
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 } } ] }
Formatowanie wiersza nagłówka tabeli
Ten przykładowy kod presentations.batchUpdate
pokazuje, jak za pomocą metody UpdateTableCellPropertiesRequest
sformatować wiersz nagłówka elementu tabeli w tableRange
, który jest określony przez parametr TABLE_ID. Następnie za pomocą metody TableCellProperties
ustawia kolor tła wiersza nagłówka na czarny.
Każde kolejne żądanie używa metody UpdateTextStyleRequest
, aby ustawić format tekstu w jednej komórce wiersza nagłówka na pogrubioną, białą czcionkę Cambria o rozmiarze 18 punktów w textRange
. Następnie musisz powtórzyć to żądanie w przypadku każdej dodatkowej komórki w nagłówku.
Zarówno rowIndex
, jak i columnIndex
w location
i cellLocation
mają wartość zerową.
Oto protokół żądania służący do formatowania wiersza nagłówka tabeli:
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.... ] }
Po wprowadzeniu tych zmian sformatowany wiersz nagłówka będzie wyglądał tak:
Wstawianie wierszy i kolumn tabeli
Z przykładowego kodu presentations.batchUpdate
dowiesz się, jak za pomocą metody InsertTableRowsRequest
dodać 3 wiersze poniżej szóstego wiersza. Następnie za pomocą metody InsertTableColumnsRequest
dodaje 2 kolumny po lewej stronie czwartej kolumny w tej samej tabeli.
Tabela jest określana przez parametr TABLE_ID. Wartości rowIndex
i columnIndex
w elementach cellLocation
są obliczane od zera.
Oto protokół żądania służący do wstawiania wierszy lub kolumn tabeli:
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 } } ] }