Operacje na tabelach

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 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.

Wartości rowIndexcolumnIndex w elementach locationcellLocation 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:

Formatowanie wiersza nagłówka wyniku przepisu

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