Operacje na tabelach

Interfejs API Prezentacji Google umożliwia tworzenie i edytowanie tabel na stronach. W przykładach na tej stronie pokazujemy kilka typowych operacji na tabelach wykonywanych za pomocą metody presentations.batchUpdate.

W tych przykładach używane są następujące zmienne:

  • PRESENTATION_ID – wskazuje, gdzie należy podać identyfikator prezentacji. Wartość tego identyfikatora można znaleźć w adresie URL prezentacji.
  • PAGE_ID – wskazuje, gdzie podajesz identyfikatory obiektów strony. Wartość tę możesz pobrać z adresu URL lub za pomocą żądania odczytu interfejsu API.
  • TABLE_ID – wskazuje, gdzie należy podać identyfikator obiektu pageelement tabeli, z którą pracujesz. Możesz podać ten identyfikator w przypadku tworzonych przez siebie 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.

Utwórz tabelę.

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 Google ignoruje wszystkie pola size i transform, które wchodzą w skład elementProperties. Zamiast tego interfejs API tworzy tabelę, która jest mniej więcej wyśrodkowana na slajdzie, a jej rozmiar jest dostosowany do określonej liczby wierszy i kolumn, jeśli to możliwe.

Poniżej znajduje się protokół żądania do utworzenia 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 za pomocą metody DeleteTableColumnRequest usuwa czwartą kolumnę. Ta tabela jest określona przez TABLE_ID. Zarówno rowIndex, jak i columnIndex w cellLocation są liczone od zera.

Protokół żądania do usuwania wierszy lub 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 tabeli

Poniższy przykładowy kod presentations.batchUpdate pokazuje, jak za pomocą metody DeleteTextRequest usunąć cały tekst z komórki w komórce textRange. Następnie wykorzystuje metodę InsertTextRequest, aby zastąpić go nowym tekstem „Kangaroo”.

Ta tabela jest określona przez 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.

Oto protokół żądań 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 sformatowania wiersza nagłówka elementu tabeli w obrębie obiektu tableRange określonego przez TABLE_ID. Następnie za pomocą metody TableCellProperties ustawia czarny kolor tła wiersza nagłówka.

Każde następne żądanie używa metody UpdateTextStyleRequest, aby ustawić format tekstowy w jednej komórce wiersza nagłówka na pogrubioną, białą czcionkę Cambrię o szerokości 18 pkt w elemencie textRange. Następnie musisz powtórzyć to żądanie dla każdej kolejnej komórki w nagłówku.

Wartości rowIndex i columnIndex w location i cellLocation mają wartość 0.

Poniżej przedstawiamy protokół żądania do sformatowania 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 będzie wyglądać sformatowany wiersz nagłówka po tych zmianach:

Sformatuj wynik przepisu w wierszu nagłówka.

Wstawianie wierszy i kolumn tabeli

Poniższy przykładowy kod presentations.batchUpdate pokazuje, 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.

Ta tabela jest określona przez TABLE_ID. Zarówno rowIndex, jak i columnIndex w cellLocation są liczone od zera.

Poniżej znajduje się protokół żądania do wstawiania wierszy i 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
      }
    }
  ]
}