Mit der Google Sheets API können Sie Daten in Tabellen auf verschiedene Weise 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 eines Batch-Updates 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 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
}
}
}
]
}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. 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 spreadsheets.batchUpdate-Codebeispiel zeigt, wie die 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 Zellen im ursprünglichen Quellbereich 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"
}
}
]
}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 inkrementiert, 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 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 Sortierspezifikationen sortieren
Das folgende spreadsheets.batchUpdate-Codebeispiel zeigt, wie Sie mit SortRangeRequest den Bereich A1:D10 sortieren. Zuerst wird nach Spalte B in aufsteigender Reihenfolge, dann nach Spalte C in absteigender Reihenfolge und schließlich nach Spalte D in absteigender Reihenfolge sortiert.
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"
}
]
}
}
]
}