Tabellen können mehrere Blätter enthalten, die jeweils eine beliebige Anzahl von Zeilen oder Spalten haben. Eine Zelle ist die Schnittstelle zwischen einer Zeile und einer Spalte und kann einen Datenwert enthalten. Die Google Tabellen API bietet die Ressource spreadsheets.values
, mit der Werte gelesen und geschrieben werden können.
Auf dieser Seite werden die Grundlagen der Verwendung der spreadsheets.values
-Ressource beschrieben. Wenn Sie Zeilen einfügen oder die Formatierung und andere Eigenschaften in einer Tabelle aktualisieren möchten, müssen Sie die Methode spreadsheets.batchUpdate
verwenden, die unter Tabellen aktualisieren beschrieben wird.
Methoden
Die spreadsheets.values
-Ressource bietet die folgenden Methoden zum Lesen und Schreiben von Werten, jeweils für eine bestimmte Aufgabe:
Zugriff auf den Bereich | Lesen | Schreiben |
---|---|---|
Einzelner Bereich | spreadsheets.values.get |
spreadsheets.values.update |
Mehrere Bereiche | spreadsheets.values.batchGet |
spreadsheets.values.batchUpdate |
Anfügen | spreadsheets.values.append |
Im Allgemeinen ist es empfehlenswert, mehrere Lese- oder Aktualisierungen mit den Methoden batchGet
bzw. batchUpdate
zu kombinieren, da dies die Effizienz verbessert.
Beispiele für jede dieser Methoden finden Sie auf den Beispielseiten Lesen und Schreiben. Eine Übersicht aller Samples finden Sie auf der Übersichtsseite für Samples.
Lesen
Wenn Sie Datenwerte aus einer Tabelle lesen möchten, benötigen Sie die Tabellen-ID und die A1-Notation für den Bereich. Wenn Sie den Bereich ohne die Tabellenblatt-ID (A1:B2
) angeben, wird die Anfrage auf dem ersten Tabellenblatt in der Tabelle ausgeführt. Weitere Informationen zu Tabellen-IDs und A1-Notation finden Sie unter Google Tabellen API – Übersicht.
Mit mehreren optionalen Abfrageparametern wird das Format der Ausgabe gesteuert:
Formatparameter | Standardwert |
---|---|
majorDimension |
ROWS |
valueRenderOption |
FORMATTED_VALUE |
dateTimeRenderOption |
SERIAL_NUMBER |
Hinweis: Sie sollten dateTimeRenderOption
nur verwenden, wenn valueRenderOption
nicht FORMATTED_VALUE
ist.
Die Menge der zurückgegebenen Daten ist nicht explizit begrenzt. Bei Fehlern werden keine Daten zurückgegeben. Leere Zeilen und Spalten am Ende werden weggelassen.
Die Methoden „get“ und „get_batch“ werden unten beschrieben. Beispiele für einfache Lesevorgänge finden Sie unter Einfache Lesevorgänge.
Einzelnen Bereich lesen
Wenn Sie einen einzelnen Wertebereich aus einer Tabelle lesen möchten, verwenden Sie eine spreadsheets.values.get
-Anfrage:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
Die Antwort auf diese Anfrage wird als ValueRange
-Objekt zurückgegeben.
Mehrere Bereiche lesen
Wenn Sie mehrere nicht zusammenhängende Wertebereiche aus einer Tabelle lesen möchten, verwenden Sie eine spreadsheets.values.batchGet
-Anfrage, mit der Sie mehrere Bereiche zum Abrufen angeben können:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
Die Antwort auf diese Anfrage wird als BatchGetValuesResponse
-Objekt zurückgegeben, das die spreadsheetId
und eine Liste von ValueRange
-Objekten enthält.
Schreiben
Wenn Sie in eine Tabelle schreiben möchten, benötigen Sie die Tabellen-ID, den Zellenbereich in A1-Notation und die Daten, die Sie in einem geeigneten Anfragetextobjekt schreiben möchten. Weitere Informationen zu Tabellen-IDs und A1-Notation finden Sie unter Google Tabellen API – Übersicht.
Für Aktualisierungen ist ein gültiger Parameter ValueInputOption
erforderlich.
Bei einzelnen Aktualisierungen ist dies ein erforderlicher Abfrageparameter. Bei Batch-Aktualisierungen ist dieser Parameter im Anfragetext erforderlich. Mit ValueInputOption
wird festgelegt, wie Eingabedaten interpretiert werden und ob Eingabestrings geparst werden oder nicht, wie in der folgenden Tabelle beschrieben:
ValueInputOption |
Beschreibung |
---|---|
RAW |
Die Eingabe wird nicht geparst und als String eingefügt. Wenn Sie beispielsweise „=1+2“ eingeben, wird der String „=1+2“ und nicht die Formel „=1+2“ in die Zelle eingefügt. Nicht-Stringwerte wie Boolesche Werte oder Zahlen werden immer als RAW behandelt. |
USER_ENTERED |
Die Eingabe wird genau so analysiert, als wäre sie in die Sheets-Benutzeroberfläche eingegeben worden. Beispiel: „1. März 2016“ wird zu einem Datum und „=1+2“ zu einer Formel. Formate können auch abgeleitet werden, sodass „100,15 €“ zu einer Zahl mit Währungsformat wird. |
Die Methoden für die Aktualisierung einzelner und mehrerer Elemente werden unten beschrieben. Beispiele für einfache Schreibvorgänge finden Sie unter Einfaches Schreiben.
In einen einzelnen Bereich schreiben
Wenn Sie Daten in einen einzelnen Bereich schreiben möchten, verwenden Sie eine spreadsheets.values.update
-Anfrage:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
Der Anfragetext der Aktualisierungsanfrage muss ein ValueRange
-Objekt sein. Das einzige erforderliche Feld ist values
. Wenn range
angegeben ist, muss es mit dem Bereich in der URL übereinstimmen. Für ValueRange
können Sie optional die majorDimension
angeben.
Standardmäßig wird ROWS
verwendet. Wenn COLUMNS
angegeben ist, wird jedes innere Array in eine Spalte statt in eine Zeile geschrieben.
Bei der Aktualisierung werden Werte ohne Daten übersprungen. Wenn Sie Daten löschen möchten, verwenden Sie einen leeren String („“).
Mehrere Bereiche schreiben
Wenn Sie mehrere zusammenhängende Bereiche schreiben möchten, können Sie eine spreadsheets.values.batchUpdate
-Anfrage verwenden:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
Der Anfragetext der Batch-Aktualisierungsanfrage muss ein BatchUpdateValuesRequest
-Objekt sein, das einen ValueInputOption
und eine Liste von ValueRange
-Objekten (eines für jeden geschriebenen Bereich) enthält. Für jedes ValueRange
-Objekt werden eigene range
-, majorDimension
- und Eingabedaten angegeben.
Werte anhängen
Wenn Sie Daten nach einer Datentabelle in einem Tabellenblatt anhängen möchten, verwenden Sie eine spreadsheets.values.append
-Anfrage:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
Der Anfragetext der Aktualisierungsanfrage muss ein ValueRange
-Objekt sein. Das einzige erforderliche Feld ist values
. Wenn range
angegeben ist, muss es mit dem Bereich in der URL übereinstimmen. Für ValueRange
können Sie optional die majorDimension
angeben.
Standardmäßig wird ROWS
verwendet. Wenn COLUMNS
angegeben ist, wird jedes innere Array in eine Spalte statt in eine Zeile geschrieben.
Im Eingabebereich wird nach vorhandenen Daten gesucht und eine „Tabelle“ in diesem Bereich gefunden. Die Werte werden der nächsten Zeile der Tabelle angehängt, beginnend mit der ersten Spalte der Tabelle. Angenommen, Sheet1
sieht so aus:
A | B | C | D | E | |
1 | x | y | z | ||
2 | x | y | z | ||
3 | |||||
4 | x | y | |||
5 | y | z | |||
6 | x | y | z | ||
7 |
Das Tabellenblatt enthält zwei Tabellen: A1:C2
und B4:D6
. Angefügte Werte beginnen bei B7
für alle folgenden range
-Eingabewerte:
Sheet1
, da alle Daten im Tabellenblatt geprüft und festgestellt werden, dass die Tabelle beiB4:D6
die letzte ist.B4
oderC5:D5
, da sich beide in der TabelleB4:D6
befinden.B2:D4
, da die TabelleB4:D6
die letzte im Bereich ist, obwohl sie auch die TabelleA1:C2
enthält.A3:G10
, da die TabelleB4:D6
die letzte im Bereich ist, obwohl der Bereich davor beginnt und danach endet.
Bei den folgenden range
-Eingängen wird die Aufzeichnung nicht bei B7
gestartet:
A1
würde beiA3
beginnen, da sich diese Zahl in der TabelleA1:C2
befindet.- Bei
E4
würde das Schreiben beiE4
beginnen, da sich das Element in keiner Tabelle befindet. (A4
würde aus denselben Gründen auch beiA4
beginnen.)
Außerdem können Sie auswählen, ob Sie vorhandene Daten nach einer Tabelle überschreiben oder neue Zeilen für die neuen Daten einfügen möchten. Standardmäßig werden durch die Eingabe Daten nach der Tabelle überschrieben. Wenn Sie die neuen Daten in neue Zeilen schreiben möchten, verwenden Sie den Befehl InsertDataOption
und geben Sie insertDataOption=INSERT_ROWS
an.
Weitere Informationen zu den Zellen- und Zeilenlimits in Google Tabellen finden Sie unter In Google Drive speicherbare Dateien.