Mit der Google Sheets API können Sie Werte und Formeln in Zellen, Bereiche, Gruppen von Bereichen und ganze Tabellen schreiben. Die Beispiele auf dieser Seite veranschaulichen, wie einige
gängige Schreibvorgänge mit der
spreadsheets.values
Ressource der Sheets API ausgeführt werden können.
Sie können Zellwerte auch mit der
spreadsheet.batchUpdate
Methode schreiben. Das ist nützlich, wenn Sie gleichzeitig die Zellformatierung
oder andere Eigenschaften aktualisieren möchten, die von der
spreadsheets.values
Ressource nicht betroffen sind. Wenn Sie beispielsweise einen Zellbereich aus
einer Tabelle in eine andere kopieren und dabei sowohl die Zellformel als auch die Zell
formatierung überschreiben möchten, können Sie die
UpdateCellsRequest
Methode mit
spreadsheet.batchUpdate verwenden.
Für einfache Schreibvorgänge ist es jedoch einfacher, die
spreadsheets.values.update
Methode oder die
spreadsheets.values.batchUpdate
Methode zu verwenden.
Diese Beispiele werden in Form von HTTP-Anfragen dargestellt, um sprachneutral zu sein. Informationen zum Implementieren von Schreibvorgängen in verschiedenen Sprachen mit den Google API-Clientbibliotheken finden Sie unter Zellwerte lesen und schreiben.
In diesen Beispielen gibt der Platzhalter SPREADSHEET_ID an
, wo Sie die Tabellen
-ID angeben müssen. Sie finden sie in der
Tabellen-URL. Die Bereiche, in die geschrieben werden soll, werden mit der A1
Notation angegeben. Ein Beispielbereich ist Tabelle1!A1:D5.
In einen einzelnen Bereich schreiben
Das folgende
spreadsheets.values.update
Codebeispiel zeigt, wie Sie in eine neue, leere Tabelle Werte in einen Bereich schreiben. Der
ValueInputOption Abfrage
parameter ist erforderlich und bestimmt, ob die geschriebenen Werte geparst werden (z.
B. ob ein String in ein Datum umgewandelt wird).
Der Anfragetext ist ein
ValueRange
Objekt, das die zu schreibenden Bereichswerte beschreibt. Das
majorDimension Feld
gibt an, dass die Arrays Listen von Werten sind, die nach Zeilen organisiert sind. Vorhandene Werte im Zielbereich werden überschrieben.
Das Anfrageprotokoll ist unten dargestellt.
PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:D5?valueInputOption=VALUE_INPUT_OPTION{
"range": "Sheet1!A1:D5",
"majorDimension": "ROWS",
"values": [
["Item", "Cost", "Stocked", "Ship Date"],
["Wheel", "$20.50", "4", "3/1/2016"],
["Door", "$15", "2", "3/15/2016"],
["Engine", "$100", "1", "3/20/2016"],
["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
],
}Die Antwort besteht aus einem
UpdateValuesResponse
Objekt, z. B.:
{
"spreadsheetId": SPREADSHEET_ID,
"updatedRange": "Sheet1!A1:D5",
"updatedRows": 5,
"updatedColumns": 4,
"updatedCells": 20,
}Die resultierende Tabelle sieht so aus:
| A | B | C | D | |
| 1 | Element | Kosten | Auf Lager | Versanddatum |
| 2 | Wheel Riesenrad | 20,50 $ | 4 | 01.03.2016 |
| 3 | Tür | 15 $ | 2 | 15.03.2016 |
| 4 | Engine | 100 $ | 1 | 20.03.2016 |
| 5 | Gesamt | 135,5 $ | 7 | 20.03.2016 |
Selektiv in einen Bereich schreiben
Wenn Sie Werte in einen Bereich schreiben, können Sie verhindern, dass einige vorhandene Zellen geändert werden, indem Sie die entsprechenden Array-Elemente auf null setzen. Sie können eine Zelle auch leeren, indem Sie einen leeren String ("") hineinschreiben.
Ausgehend von einer Tabelle mit denselben Daten wie im oben
genannten Beispiel zeigt das folgende
spreadsheets.values.update
Codebeispiel, wie Sie die Werte in den Bereich B1:D4 schreiben und dabei einige Zellen unverändert lassen und andere leeren. Der
ValueInputOption Abfrage
parameter ist erforderlich und bestimmt, ob die geschriebenen Werte geparst werden (z.
B. ob ein String in ein Datum umgewandelt wird).
Der Anfragetext ist ein
ValueRange
Objekt, das die zu schreibenden Bereichswerte beschreibt. Das
majorDimension Feld
gibt an, dass die Arrays Listen von Werten sind, die nach Spalten organisiert sind.
Das Anfrageprotokoll ist unten dargestellt.
PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!B1?valueInputOption=VALUE_INPUT_OPTION{
"range": "Sheet1!B1",
"majorDimension": "COLUMNS",
"values": [
[null,"$1","$2", ""],
[],
[null,"4/1/2016", "4/15/2016", ""]
]
}Das Feld values listet hier die Änderungen auf, die an den einzelnen Spalten im Bereich vorgenommen wurden. Das erste Array gibt an, dass B1 unverändert bleiben soll (aufgrund des null-Array-Elements), während B4 geleert werden soll (leerer String). Die Werte von B2 und B3 werden aktualisiert. Das dritte Array führt dieselben Vorgänge für Spalte D aus, während das zweite leere Array angibt, dass Spalte C unverändert bleiben soll.
Die Antwort besteht aus einem
UpdateValuesResponse
Objekt, z. B.:
{
"spreadsheetId": SPREADSHEET_ID,
"updatedRange": "Sheet1!B1:D5",
"updatedRows": 3,
"updatedColumns": 2,
"updatedCells": 6,
}Die resultierende Tabelle sieht so aus:
| A | B | C | D | |
| 1 | Element | Kosten | Auf Lager | Versanddatum |
| 2 | Wheel Riesenrad | 1,00 $ | 4 | 01.04.2016 |
| 3 | Tür | 2 $ | 2 | 15.04.2016 |
| 4 | Engine | 1 | ||
| 5 | Gesamt | 3,00 $ | 7 | 15.04.2016 |
Die Zeile „Gesamt“ wird zwar nicht direkt durch diese Anfrage geändert, aber ihre Zellen enthalten Formeln, die von den geänderten Zellen abhängen.
In mehrere Bereiche schreiben
Das folgende
spreadsheets.values.batchUpdate
Codebeispiel zeigt, wie Sie in eine leere Tabelle Werte in die Bereiche Tabelle1!A1:A4 und
Tabelle1!B1:D2 schreiben. Vorhandene Werte im Zielbereich werden überschrieben. Der Anfragetext besteht aus einem
ValueInputOption-Objekt, das
angibt, wie die Eingabedaten interpretiert werden sollen, und einem Array von
ValueRange
-Objekten, die den einzelnen Bereichen entsprechen, in die geschrieben wird. Das
majorDimension Feld
bestimmt, ob die enthaltenen Arrays als Arrays von Spalten oder Zeilen interpretiert werden.
Das Anfrageprotokoll ist unten dargestellt.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values:batchUpdate{
"valueInputOption": "VALUE_INPUT_OPTION",
"data": [
{
"range": "Sheet1!A1:A4",
"majorDimension": "COLUMNS",
"values": [
["Item", "Wheel", "Door", "Engine"]
]
},
{
"range": "Sheet1!B1:D2",
"majorDimension": "ROWS",
"values": [
["Cost", "Stocked", "Ship Date"],
["$20.50", "4", "3/1/2016"]
]
}
]
}Die Antwort besteht aus einem Objekt, das die Statistiken der aktualisierten Zellen auflistet
und einem Array von
UpdateValuesResponse
Objekten, eines für jeden aktualisierten Bereich. Beispiel:
{
"spreadsheetId": SPREADSHEET_ID,
"totalUpdatedRows": 4,
"totalUpdatedColumns": 4,
"totalUpdatedCells": 10,
"totalUpdatedSheets": 1,
"responses": [
{
"spreadsheetId": SPREADSHEET_ID,
"updatedRange": "Sheet1!A1:A4",
"updatedRows": 4,
"updatedColumns": 1,
"updatedCells": 4,
},
{
"spreadsheetId": SPREADSHEET_ID,
"updatedRange": "Sheet1!B1:D2",
"updatedRows": 2,
"updatedColumns": 3,
"updatedCells": 6,
}
],
}Die resultierende Tabelle sieht so aus:
| A | B | C | D | |
| 1 | Element | Kosten | Auf Lager | Versanddatum |
| 2 | Wheel Riesenrad | 20,50 $ | 4 | 01.03.2016 |
| 3 | Tür | |||
| 4 | Engine | |||
| 5 |
Werte ohne Parsing schreiben
Das folgende
spreadsheets.values.update
Codebeispiel zeigt, wie Sie in eine leere Tabelle Werte in den Bereich Tabelle1!A1:E1 schreiben. Dabei wird
der RAW ValueInputOption
Abfrageparameter verwendet, um zu verhindern, dass die geschriebenen Strings als Formeln, boolesche Werte oder Zahlen geparst werden. Sie werden als Strings angezeigt und die Textausrichtung wird in der Tabelle gerechtfertigt.
Der Anfragetext ist ein
ValueRange
Objekt, das die zu schreibenden Bereichswerte beschreibt. Das
majorDimension Feld
gibt an, dass die Arrays Listen von Werten sind, die nach Zeilen organisiert sind. Vorhandene Werte im Zielbereich werden überschrieben.
Das Anfrageprotokoll ist unten dargestellt.
PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:E1?valueInputOption=RAW{
"range": "Sheet1!A1:E1",
"majorDimension": "ROWS",
"values": [
["Data", 123.45, true, "=MAX(D2:D4)", "10"]
],
}Die Antwort besteht aus einem
UpdateValuesResponse
Objekt, z. B.:
{
"spreadsheetId": SPREADSHEET_ID,
"updatedRange": "Sheet1!A1:E1",
"updatedRows": 1,
"updatedColumns": 5,
"updatedCells": 5,
}Die resultierende Tabelle sieht so aus:
| A | B | C | D | E | |
| 1 | Daten | 123,45 | TRUE | =MAX(D2:D4) | 10 |
| 2 |
„TRUE“ ist zentriert und ein boolescher Wert, während „123,45“ rechtsbündig ist, weil es eine Zahl ist, und „10“ linksbündig ist, weil es ein String ist. Die Formel wird nicht geparst und wird auch als String angezeigt.
Werte anhängen
Beginnen Sie mit einer Tabelle wie der folgenden:
| A | B | C | D | |
| 1 | Element | Kosten | Auf Lager | Versanddatum |
| 2 | Wheel Riesenrad | 20,50 $ | 4 | 01.03.2016 |
| 3 |
Das folgende
spreadsheets.values.append
Codebeispiel zeigt, wie Sie ab Zeile 3 zwei neue Zeilen mit Werten hinzufügen. Der
ValueInputOption Abfrage
parameter ist erforderlich und bestimmt, ob die geschriebenen Werte geparst werden (z.
B. ob ein String in ein Datum umgewandelt wird).
Der Anfragetext ist ein
ValueRange
Objekt, das die zu schreibenden Bereichswerte beschreibt. Das
majorDimension Feld
gibt an, dass die Arrays Listen von Werten sind, die nach Zeilen organisiert sind.
Das Anfrageprotokoll ist unten dargestellt.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:E1:append?valueInputOption=VALUE_INPUT_OPTION{
"range": "Sheet1!A1:E1",
"majorDimension": "ROWS",
"values": [
["Door", "$15", "2", "3/15/2016"],
["Engine", "$100", "1", "3/20/2016"],
],
}Die Antwort besteht aus einem
AppendValuesResponse
Objekt, z. B.:
{
"spreadsheetId": SPREADSHEET_ID,
"tableRange": "Sheet1!A1:D2",
"updates": {
"spreadsheetId": SPREADSHEET_ID,
"updatedRange": "Sheet1!A3:D4",
"updatedRows": 2,
"updatedColumns": 4,
"updatedCells": 8,
}
}Die resultierende Tabelle sieht so aus:
| A | B | C | D | |
| 1 | Element | Kosten | Auf Lager | Versanddatum |
| 2 | Wheel Riesenrad | 20,50 $ | 4 | 01.03.2016 |
| 3 | Tür | 15 $ | 2 | 15.03.2016 |
| 4 | Engine | 100 $ | 1 | 20.03.2016 |
| 5 |