Operacje na tabelach

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

W tych przykładach używamy tych zmiennych:

  • PRESENTATION_ID – wskazuje miejsce, w którym podajesz identyfikator prezentacji. Wartość tego identyfikatora możesz znaleźć w adresie URL prezentacji.
  • PAGE_ID – wskazuje miejsce, w którym podajesz identyfikatory obiektów strony. Wartość tego identyfikatora możesz pobrać z adresu URL lub za pomocą żądania odczytu interfejsu API.
  • TABLE_ID – wskazuje miejsce, w którym podajesz identyfikator obiektu elementu strony dla tabeli, nad którą pracujesz. Możesz określić ten identyfikator dla tworzonych elementów (z pewnymi 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 niezależne od języka. Aby dowiedzieć się jak wdrożyć aktualizację zbiorczą w różnych językach za pomocą bibliotek klienta interfejsu Google API, przeczytaj artykuł Dodawanie kształtów i tekstu.

Tworzenie tabeli

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

Ta tabela ma 8 wierszy i 5 kolumn. Pamiętaj, że interfejs Slides API ignoruje wszystkie pola size lub transform podane w ramach elementProperties. Zamiast tego interfejs API tworzy tabelę, która jest mniej więcej wyśrodkowana na slajdzie i ma rozmiar umożliwiający umieszczenie określonej liczby wierszy i kolumn.

Oto protokół żądania 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 presentations.batchUpdate przykładowy kod pokazuje, jak użyć metody DeleteTableRowRequest , aby usunąć szósty wiersz. Następnie używa metody DeleteTableColumnRequest , aby usunąć czwartą kolumnę. Tabela jest określona przez the TABLE_ID. Zarówno rowIndex, jak i columnIndex w cellLocation są liczone od 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 presentations.batchUpdate przykładowy kod pokazuje, jak użyć metody DeleteTextRequest , aby usunąć cały tekst w komórce w textRange. Następnie używa metody InsertTextRequest , aby zastąpić go nowym tekstem „Kangur”.

Tabela jest określona przez TABLE_ID. Komórka, której dotyczy zmiana, znajduje się w piątym wierszu i trzeciej kolumnie. Zarówno rowIndex, jak i columnIndex w cellLocation są liczone od zera.

Oto protokół żądania edytowania danych 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 presentations.batchUpdate przykładowy kod pokazuje, jak użyć metody UpdateTableCellPropertiesRequest , aby sformatować wiersz nagłówka elementu tabeli w tableRange, określonym przez TABLE_ID. Następnie używa metody TableCellProperties , aby ustawić 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 pogrubiony, biały tekst o rozmiarze 18 punktów i czcionce Cambria w textRange. Następnie musisz powtórzyć to żądanie dla każdej dodatkowej komórki w nagłówku.

Zarówno rowIndex, jak i columnIndex w location i cellLocation są liczone od zera.

Oto protokół żądania 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 tych aktualizacjach sformatowany wiersz nagłówka wygląda tak:

Przykładowy wynik formatowania wiersza nagłówka

Wstawianie wierszy i kolumn tabeli

Poniższy presentations.batchUpdate przykładowy kod pokazuje, jak użyć metody InsertTableRowsRequest , aby dodać 3 wiersze poniżej szóstego wiersza. Następnie używa metody InsertTableColumnsRequest , aby dodać 2 kolumny po lewej stronie czwartej kolumny w tej samej tabeli.

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

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