Tabellenvorgänge

Mit der Google Sheets API können Sie Tabellenblätter erstellen, löschen, kopieren und löschen sowie deren Eigenschaften festlegen. Die Beispiele auf dieser Seite veranschaulichen, wie Sie mit der Sheets API einige gängige Google Tabellen-Vorgänge ausführen können.

Diese Beispiele werden in Form von HTTP-Anfragen präsentiert, um sprachneutral zu sein. Informationen zum Implementieren einer Batch-Aktualisierung in verschiedenen Sprachen mithilfe der Google API-Clientbibliotheken finden Sie unter Tabellen aktualisieren.

In diesen Beispielen geben die Platzhalter SPREADSHEET_ID und SHEET_ID an, wo Sie diese IDs angeben müssen. Die Tabellen-ID finden Sie in der Tabellen-URL. Die Tabellen-ID lässt sich mit der Methode spreadsheets.get abrufen. Die Bereiche werden in der A1-Notation angegeben. Ein Beispielbereich ist Sheet1!A1:D5.

Tabellenblatt hinzufügen

Das folgende Codebeispiel spreadsheets.batchUpdate zeigt, wie Sie mit AddSheetRequest ein Tabellenblatt in eine Tabelle einfügen und gleichzeitig den Titel, die Rastergröße und die Tabfarbe festlegen.

Die Antwort besteht aus einem AddSheetResponse, das ein Objekt mit den Attributen des erstellten Tabellenblatts, z. B. SHEET_ID, enthält.

Das Anfrageprotokoll ist unten dargestellt.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "addSheet": {
        "properties": {
          "title": "Deposits",
          "gridProperties": {
            "rowCount": 20,
            "columnCount": 12
          },
          "tabColor": {
            "red": 1.0,
            "green": 0.3,
            "blue": 0.4
          }
        }
      }
    }
  ]
}

Tabelle mit allen Werten löschen, aber Formate beibehalten

Das folgende Codebeispiel spreadsheets.batchUpdate zeigt, wie Sie mit UpdateCellsRequest alle Werte aus einem Tabellenblatt entfernen, dabei aber die Formatierung unverändert lassen.

Wird das Feld userEnteredValue ohne entsprechenden Wert angegeben, wird dies als Anweisung zum Löschen von Werten im Bereich interpretiert. Diese Einstellung kann auch mit anderen Feldern verwendet werden. Wenn Sie beispielsweise den Wert fields in userEnteredFormat ändern, werden alle von der Sheets API unterstützten Formatierungen aus dem Tabellenblatt entfernt. Die Zellenwerte bleiben jedoch unverändert.

Das Anfrageprotokoll ist unten dargestellt.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateCells": {
        "range": {
          "sheetId": SHEET_ID
        },
        "fields": "userEnteredValue"
      }
    }
  ]
}

Kopieren eines Tabellenblatts von einer Tabelle in eine andere

Das folgende Codebeispiel spreadsheet.sheets.copyTo zeigt, wie Sie ein mit SHEET_ID angegebenes einzelnes Tabellenblatt von einer Tabelle in eine andere kopieren.

Die Variable TARGET_SPREADSHEET_ID im Anfragetext gibt die Zieltabelle an. Alle Werte, Formatierungen, Formeln und anderen Eigenschaften des Originals werden in der Kopie beibehalten. Der Titel des kopierten Tabellenblatts ist auf „Kopie von [Original-Tabellentitel]“ gesetzt.

Die Antwort besteht aus dem Objekt SheetProperties, das die Eigenschaften des erstellten Tabellenblatts beschreibt.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/sheets/SHEET_ID:copyTo
{
  "destinationSpreadsheetId": "TARGET_SPREADSHEET_ID"
}

Tabellenblatt löschen

Das folgende Codebeispiel spreadsheets.batchUpdate zeigt, wie Sie mit DeleteSheetRequest ein durch SHEET_ID angegebenes Tabellenblatt löschen.

Das Anfrageprotokoll ist unten dargestellt.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "deleteSheet": {
        "sheetId": SHEET_ID
      }
    }
  ]
}

Tabellendaten lesen

Das folgende Codebeispiel für spreadsheets.get zeigt, wie Sie Attributinformationen für das Tabellenblatt aus einer Tabelle abrufen, die durch SHEET_ID und SPREADSHEET_ID angegeben wird. Diese Methode wird häufig verwendet, um die Metadaten von Tabellenblättern innerhalb einer bestimmten Tabelle zu bestimmen, sodass zusätzliche Vorgänge auf diese Tabellenblätter ausgerichtet werden können. Mit dem Abfrageparameter fields wird angegeben, dass nur Daten zu den Tabellenblatteigenschaften zurückgegeben werden sollen – im Gegensatz zu Zellenwertdaten oder Daten, die sich auf die gesamte Tabelle beziehen.

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?&fields=sheets.properties

Die Antwort besteht aus einer Spreadsheet-Ressource, die ein Sheet-Objekt mit SheetProperties-Elementen enthält. Wenn ein bestimmtes Antwortfeld auf den Standardwert festgelegt ist, wird es in der Antwort weggelassen.

{
  "sheets": [
    {
      "properties": {
        "sheetId": SHEET_ID,
        "title": "Sheet1",
        "index": 0,
        "sheetType": "GRID",
        "gridProperties": {
          "rowCount": 100,
          "columnCount": 20,
          "frozenRowCount": 1
        }
        "tabColor": {
          "blue": 1.0
        }
      },
      ...
  ],
}