Interfejs Google Slides API umożliwia tworzenie i edytowanie tabel na stronach. Przykłady na tej stronie pokazują typowe operacje na tabelach z użyciem metody presentations.batchUpdate
.
W tych przykładach użyto tych zmiennych:
- PRESENTATION_ID—Wskazuje, gdzie należy podać identyfikator prezentacji. Wartość tego identyfikatora możesz znaleźć w adresie URL prezentacji.
- PAGE_ID—Wskazuje, gdzie podajesz identyfikatory obiektów strony. Wartość tej opcji możesz pobrać z adresu URL lub za pomocą żądania odczytu interfejsu API.
- TABLE_ID—Wskazuje, gdzie należy podać identyfikator obiektu elementu strony w przypadku tabeli, z którą pracujesz. Możesz podać ten identyfikator dla tworzonych elementów (z niektórymi ograniczeniami) lub pozwolić interfejsowi Slides API na automatyczne utworzenie identyfikatora. 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 API Slides ignoruje pola size
i transform
podane w ramach 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).
Oto protokół żądania służący do tworzenia tabeli:
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
Ten przykładowy kod presentations.batchUpdate
pokazuje, jak za pomocą metody DeleteTextRequest
usunąć cały tekst z komórki w zakresie 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.
Wartości rowIndex
i columnIndex
w elementach location
i cellLocation
są oparte na 0.
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
Poniższy przykładowy kod presentations.batchUpdate
pokazuje, jak za pomocą metody InsertTableRowsRequest
dodać 3 wiersze pod 6. wierszem. Następnie używa ona metody InsertTableColumnsRequest
, aby dodać dwie 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 } } ] }