Mit der Google Sheets API können Sie Daten in Tabellen auf verschiedene Arten bearbeiten. Die meisten Funktionen, die Nutzern in der Google Tabellen-Benutzeroberfläche zur Verfügung stehen, sind auch mit der Google Tabellen API möglich. Die Beispiele auf dieser Seite veranschaulichen, wie Sie mit der Google Tabellen API einige gängige Tabellenvorgänge ausführen können.
Diese Beispiele werden in Form von HTTP-Anfragen dargestellt, um sprachenunabhängig zu sein. Informationen zum Implementieren eines Batch-Updates in verschiedenen Sprachen mit den Clientbibliotheken der Google API finden Sie unter Listen aktualisieren.
In diesen Beispielen geben die Platzhalter SPREADSHEET_ID
und SHEET_ID
an, wo Sie diese IDs angeben würden. Sie finden die Tabellen-ID in der Tabellen-URL. Sie können die Tabellen-ID mit der Methode spreadsheets.get
abrufen. Die Bereiche werden in A1-Notation angegeben. Ein Beispiel für einen Bereich ist Tabelle1!A1:D5.
Datenvalidierung auf einen Bereich anwenden
Im folgenden spreadsheets.batchUpdate
-Codebeispiel wird gezeigt, wie Sie mit SetDataValidationRequest
eine Datenvalidierungsregel vom Typ „Wert > 5“ auf jede Zelle im Bereich A1:D10 anwenden.
Das Anfrageprotokoll ist unten dargestellt.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"setDataValidation": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"rule": {
"condition": {
"type": "NUMBER_GREATER",
"values": [
{
"userEnteredValue": "5"
}
]
},
"inputMessage": "Value must be > 5",
"strict": true
}
}
}
]
}
Zellenformatierungen kopieren und einfügen
Im folgenden Codebeispiel mit spreadsheets.batchUpdate
wird gezeigt, wie Sie mit CopyPasteRequest
die Formatierung nur im Bereich A1:D10 kopieren und in das gleiche Tabellenblatt in den Bereich F1:I10 einfügen. Die Methode verwendet die PasteType
-Enumeration mit PASTE_FORMAT
, um nur die Formatierung und Datenvalidierung einzufügen. Die ursprünglichen Werte in A1:D10 bleiben unverändert.
Das Anfrageprotokoll ist unten dargestellt.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "copyPaste": { "source": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 4 }, "destination": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 5, "endColumnIndex": 9 }, "pasteType": "PASTE_FORMAT", "pasteOrientation": "NORMAL" } } ] }
Zellen ausschneiden und einfügen
Das folgende Codebeispiel für spreadsheets.batchUpdate
zeigt die Verwendung von CutPasteRequest
.
Der Bereich A1:D10 wird ausgeschnitten und die Werte, Formeln und Formatierungen werden mithilfe der Aufzählung PasteType
und PASTE_NORMAL
in den Bereich F1:I10 im selben Tabellenblatt eingefügt und zusammengeführt. Die Zelleninhalte des ursprünglichen Quellbereichs werden entfernt.
Das Anfrageprotokoll ist unten dargestellt.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "cutPaste": { "source": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 4 }, "destination": { "sheetId":SHEET_ID
, "rowIndex": 0, "columnIndex": 5 }, "pasteType": "PASTE_NORMAL" } } ] }
Formeln in einem Bereich wiederholen
Im folgenden Codebeispiel mit spreadsheets.batchUpdate
wird gezeigt, wie Sie mit RepeatCellRequest
die Formel =FLOOR(A1*PI())
in den Bereich B1:D10 kopieren. Der Bereich der Formel wird automatisch für jede Zeile und Spalte im Bereich erhöht, beginnend mit der Zelle links oben. Zelle B1 enthält beispielsweise die Formel =FLOOR(A1*PI())
, Zelle D6 die Formel =FLOOR(C6*PI())
.
Das Anfrageprotokoll ist unten dargestellt.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"repeatCell": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 1,
"endColumnIndex": 4
},
"cell": {
"userEnteredValue": {
"formulaValue": "=FLOOR(A1*PI())"
}
},
"fields": "userEnteredValue"
}
}
]
}
Bereich mit mehreren Sortiervorgaben sortieren
Im folgenden Codebeispiel spreadsheets.batchUpdate
wird gezeigt, wie Sie mit SortRangeRequest
den Bereich A1:D10 zuerst in aufsteigender Reihenfolge nach Spalte B, dann in absteigender Reihenfolge nach Spalte C und schließlich in absteigender Reihenfolge nach Spalte D sortieren.
Das Anfrageprotokoll ist unten dargestellt.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"sortRange": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"sortSpecs": [
{
"dimensionIndex": 1,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 2,
"sortOrder": "DESCENDING"
},
{
"dimensionIndex": 3,
"sortOrder": "DESCENDING"
}
]
}
}
]
}