Operacje na tabelach

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 rowIndexcolumnIndex 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:

Formatowanie wiersza nagłówka wyniku przepisu

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 rowIndexcolumnIndex 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
      }
    }
  ]
}