Mit der Google Sheets API können Sie Daten in Tabellen auf verschiedene Arten bearbeiten. Die meisten Funktionen, die Nutzern zur Verfügung stehen, die mit der Benutzeroberfläche von Tabellen arbeiten, können auch mit der Sheets API ausgeführt werden. Die Beispiele auf dieser Seite veranschaulichen, wie Sie einige gängige Tabellenkalkulationsvorgänge mit der Sheets API ausführen.
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.
Datenvalidierung auf einen Bereich anwenden
Das folgende Codebeispiel für spreadsheets.batchUpdate
zeigt, wie Sie mit SetDataValidationRequest
eine Datenvalidierungsregel mit „Wert > 5“ auf jede Zelle im Bereich A1:D10 anwenden können.
Das Anfrageprotokoll ist unten zu sehen.
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
}
}
}
]
}
Zellenformatierung kopieren und einfügen
Im folgenden Codebeispiel für spreadsheets.batchUpdate
wird gezeigt, wie Sie mit CopyPasteRequest
die Formatierung nur im Bereich A1:D10 kopieren und in den Bereich F1:I10 im selben Tabellenblatt einfügen. Die Methode verwendet die Aufzählung PasteType
mit PASTE_FORMAT
nur zum Einfügen der Formatierung und Datenvalidierung. Die ursprünglichen Werte in A1:D10 bleiben unverändert.
Das Anfrageprotokoll ist unten zu sehen.
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
Im folgenden Codebeispiel für spreadsheets.batchUpdate
wird die Verwendung von CutPasteRequest
veranschaulicht.
Sie schneidet den Bereich A1:D10 aus und verwendet die Enum PasteType
mit PASTE_NORMAL
, um die Werte, Formeln und Formatierungen einzufügen und im F1:I10-Bereich im selben Tabellenblatt einzufügen. Der ursprüngliche Zelleninhalt des Quellbereichs wird entfernt.
Das Anfrageprotokoll ist unten zu sehen.
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" } } ] }
Formel innerhalb eines Bereichs wiederholen
Das folgende Codebeispiel für spreadsheets.batchUpdate
zeigt, 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 oberen linken Zelle. So enthält Zelle B1 beispielsweise die Formel =FLOOR(A1*PI())
, während Zelle D6 die Formel =FLOOR(C6*PI())
enthält.
Das Anfrageprotokoll ist unten zu sehen.
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"
}
}
]
}
Einen Bereich mit mehreren Sortierspezifikationen sortieren
Im folgenden Codebeispiel für spreadsheets.batchUpdate
sehen Sie, wie Sie mit SortRangeRequest
den Bereich A1:D10 zuerst nach Spalte B in aufsteigender Reihenfolge, dann nach Spalte C in absteigender Reihenfolge und dann nach Spalte D in absteigender Reihenfolge sortieren.
Das Anfrageprotokoll ist unten zu sehen.
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"
}
]
}
}
]
}