Operacje na tabelach

Interfejs API Prezentacji Google umożliwia tworzenie i edytowanie tabel na stronach. Przykłady na tej stronie pokazują niektóre typowe operacje na tabelach wykonywane z użyciem metody presentations.batchUpdate.

W poniższych przykładach używane są te zmienne:

  • PRESENTATION_ID – wskazuje, gdzie podajesz identyfikator prezentacji. Wartość tego identyfikatora można poznać w adresie URL prezentacji.
  • PAGE_ID – wskazuje miejsce, w którym podajesz identyfikatory obiektów strony. Wartość tę można pobrać z adresu URL lub za pomocą żądania odczytu interfejsu API.
  • TABLE_ID – wskazuje, gdzie 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 pobierać za pomocą żądania odczytu interfejsu API.

Te przykłady są prezentowane jako żądania HTTP bez względu na język. Aby dowiedzieć się, jak wdrożyć aktualizację zbiorczą w różnych językach za pomocą bibliotek klienta interfejsu API Google, przeczytaj sekcję Dodawanie kształtów i tekstu.

Tworzenie tabeli

Poniższy przykładowy kod presentations.batchUpdate pokazuje, jak za pomocą metody CreateTableRequest dodać tabelę do slajdu określonego przez PAGE_ID.

Ta tabela ma osiem wierszy i pięć kolumn. Pamiętaj, że interfejs Prezentacji API ignoruje pola size i transform podane w elementProperties. Zamiast tego interfejs API tworzy tabelę, która jest mniej więcej wyśrodkowana na slajdzie i ma wymiary odpowiadające określonej liczbie wierszy i kolumn, jeśli 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

Z przykładowego kodu presentations.batchUpdate dowiesz się, jak za pomocą metody DeleteTableRowRequest usunąć 6 wiersz. Następnie za pomocą metody DeleteTableColumnRequest usuwa czwartą kolumnę. Tabelę określa parametr TABLE_ID. Zarówno rowIndex, jak i columnIndex w cellLocation są liczone od zera.

Protokół żądania usuwania wierszy i kolumn tabeli wygląda tak:

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

Edytuj dane w 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 za pomocą metody InsertTextRequest zastępuje go nowym tekstem: „Kangaroo”.

Tabelę określa parametr TABLE_ID. Komórka, której dotyczy problem, znajduje się w piątym wierszu i trzeciej kolumnie. Zarówno rowIndex, jak i columnIndex w cellLocation są liczone od zera.

Protokół żądania do edycji 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

Poniższy przykładowy kod presentations.batchUpdate pokazuje, jak użyć metody UpdateTableCellPropertiesRequest do formatowania wiersza nagłówka elementu tabeli w sekcji tableRange określonej przez TABLE_ID. Następnie za pomocą metody TableCellProperties ustawia czarny kolor tła wiersza nagłówka.

Każde poniższe żądanie używa metody UpdateTextStyleRequest, aby ustawić format tekstu w jednej komórce wiersza nagłówka na pogrubioną, białą czcionkę o wielkości 18 punktów w textRange. Musisz powtórzyć to żądanie dla każdej dodatkowej komórki nagłówka.

Zarówno rowIndex, jak i columnIndex w location i cellLocation mają wartość zerową.

Oto protokół żądania 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....
  ]
}

Tak wygląda sformatowany wiersz nagłówka po aktualizacji:

Sformatuj wynik przepisu wiersza nagłówka.

Wstawianie wierszy lub 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.

Tabelę określa parametr TABLE_ID. Zarówno rowIndex, jak i columnIndex w cellLocation są liczone od zera.

Protokół żądania wstawia wiersze lub kolumny 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
      }
    }
  ]
}