Tabellenvorgänge

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

Diese Beispiele werden in Form von sprachneutralen HTTP-Anfragen präsentiert. 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 Tabellenblatt-ID können Sie mit der Methode spreadsheets.get abrufen. Die Bereiche werden in der A1-Schreibweise angegeben. Ein Beispielbereich ist Sheet1!A1:D5.

Tabellenblatt hinzufügen

Im folgenden Codebeispiel für spreadsheets.batchUpdate wird gezeigt, wie Sie mit AddSheetRequest einer Tabelle ein Tabellenblatt hinzufügen und dabei den Titel, die Rastergröße und die Tabfarbe festlegen.

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

Das Anfrageprotokoll ist unten zu sehen.

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

Alle Werte aus einem Tabellenblatt löschen und die Formate beibehalten

Das folgende Codebeispiel für spreadsheets.batchUpdate zeigt, wie Sie mit UpdateCellsRequest alle Werte aus einem Tabellenblatt entfernen, ohne die Formatierung zu ändern.

Wenn Sie das Feld userEnteredValue ohne entsprechenden Wert angeben, 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 zu sehen.

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

Tabellenblatt aus einer Tabelle in eine andere kopieren

Das folgende Codebeispiel für spreadsheet.sheets.copyTo zeigt, wie ein durch SHEET_ID angegebenes Tabellenblatt von einer Tabelle in eine andere kopiert wird.

Die Variable TARGET_SPREADSHEET_ID im Anfragetext gibt die Zieltabelle an. Die Kopie behält alle Werte, Formatierungen, Formeln und sonstigen Eigenschaften des Originals bei. Der Titel des kopierten Tabellenblatts wird auf „Kopie von [Titel des Originalblatts]“ festgelegt.

Die Antwort besteht aus einem SheetProperties-Objekt, das die Attribute des erstellten Tabellenblatts beschreibt.

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

Tabellenblätter löschen

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

Das Anfrageprotokoll ist unten zu sehen.

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

Tabellenblattdaten lesen

Das folgende Codebeispiel für spreadsheets.get zeigt, wie Sie Informationen zu Tabellenblatt-Attributen aus einer Tabelle abrufen, die durch SHEET_ID und SPREADSHEET_ID angegeben ist. Diese Methode wird häufig verwendet, um die Metadaten von Tabellenblättern in einer bestimmten Tabelle zu ermitteln, sodass zusätzliche Vorgänge auf diese Tabellenblätter ausgerichtet werden können. Der Abfrageparameter fields gibt an, dass nur Tabellenblatteigenschaftsdaten 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 der Ressource Spreadsheet, die ein Sheet-Objekt mit SheetProperties-Elementen enthält. Wenn ein bestimmtes Antwortfeld auf den Standardwert gesetzt ist, wird es in der Antwort ausgelassen.

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