Mit der Google Sheets API können Sie Daten in Tabellen auf verschiedene Arten bearbeiten. Die meisten Funktionen, die Nutzern in der Sheets-Benutzeroberfläche zur Verfügung stehen, 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 können.
Diese Beispiele werden in Form von HTTP-Anfragen präsentiert, um sprachneutral zu sein. Informationen zum Implementieren einer Batch-Aktualisierung in verschiedenen Sprachen mit den 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 würden. Die Tabellen-ID finden Sie in der Tabellen-URL. Sie können die Tabellenblatt-ID mit der Methode spreadsheets.get
abrufen. Die Bereiche werden mit der A1-Notation angegeben. Ein Beispielbereich ist Tabelle1!A1:D5.
Datenvalidierung auf einen Bereich anwenden
Das folgende spreadsheets.batchUpdate
-Codebeispiel zeigt, wie Sie mit SetDataValidationRequest
eine Datenvalidierungsregel anwenden, bei der „value > 5“ für jede Zelle im Bereich A1:D10 gilt.
Das Anfrageprotokoll wird unten angezeigt.
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
Das folgende spreadsheets.batchUpdate
-Codebeispiel zeigt, wie Sie mit CopyPasteRequest
die Formatierung nur im Bereich A1:D10 kopieren und in den Bereich F1:I10 im selben Tabellenblatt einfügen. Bei der Methode wird das Enum PasteType
mit PASTE_FORMAT
verwendet, um nur die Formatierung und Datenvalidierung einzufügen. Die ursprünglichen Werte in A1:D10 bleiben unverändert.
Das Anfrageprotokoll wird unten angezeigt.
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 spreadsheets.batchUpdate
-Codebeispiel zeigt, wie CutPasteRequest
verwendet wird.
Der Bereich A1:D10 wird ausgeschnitten und das Enum PasteType
mit PASTE_NORMAL
verwendet, um die Werte, Formeln, Formatierungen und Zusammenführungen in den Bereich F1:I10 im selben Tabellenblatt einzufügen. Die Inhalte der ursprünglichen Quellzellen werden entfernt.
Das Anfrageprotokoll wird unten angezeigt.
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 für einen Bereich wiederholen
Das folgende spreadsheets.batchUpdate
-Codebeispiel zeigt, wie Sie mit RepeatCellRequest
die Formel =FLOOR(A1*PI())
in den Bereich B1:D10 kopieren. Der Bereich der Formel wird für jede Zeile und Spalte im Bereich automatisch erhöht, beginnend mit der Zelle oben links. Zelle B1 enthält beispielsweise die Formel =FLOOR(A1*PI())
, während Zelle D6 die Formel =FLOOR(C6*PI())
enthält.
Das Anfrageprotokoll wird unten angezeigt.
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 Sortierspezifikationen sortieren
Das folgende spreadsheets.batchUpdate
-Codebeispiel zeigt, wie Sie mit SortRangeRequest
den Bereich A1:D10 sortieren, zuerst nach Spalte B in aufsteigender Reihenfolge, dann nach Spalte C in absteigender Reihenfolge und schließlich nach Spalte D in absteigender Reihenfolge.
Das Anfrageprotokoll wird unten angezeigt.
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"
}
]
}
}
]
}