Datenvorgänge

Mit der Google Sheets API können Sie Daten in Tabellen auf verschiedene Arten bearbeiten. Die meisten Funktionen, die Nutzern mit der Benutzeroberfläche von Google Tabellen zur Verfügung stehen, lassen sich auch mit der Google Sheets API nutzen. Die Beispiele auf dieser Seite veranschaulichen, wie Sie mit der Sheets API einige gängige Tabellenkalkulationsvorgänge 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 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 Tabellen-ID lässt sich mit der Methode spreadsheets.get abrufen. Die Bereiche werden in der A1-Notation angegeben. Ein Beispielbereich ist Sheet1!A1:D5.

Datenvalidierung auf einen Bereich anwenden

Das folgende Codebeispiel spreadsheets.batchUpdate zeigt, wie Sie mit SetDataValidationRequest eine Datenvalidierungsregel mit „value > 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
        }
      }
    }
  ]
}

Zellenformatierung kopieren und einfügen

Das folgende Codebeispiel spreadsheets.batchUpdate 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 Aufzählung PasteType mit PASTE_FORMAT, um nur die Formatierung und die 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 spreadsheets.batchUpdate zeigt, wie CutPasteRequest verwendet wird. Sie schneidet den Bereich A1:D10 aus und verwendet die Aufzählung PasteType mit PASTE_NORMAL, um die zugehörigen Werte, Formeln und Formatierungen einzufügen und in den Bereich F1:I10 im selben Tabellenblatt einzufügen. Der ursprüngliche Zelleninhalt des Quellbereichs wird 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 über einen Bereich hinweg wiederholen

Das folgende Codebeispiel 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. Beispielsweise enthält Zelle B1 die Formel =FLOOR(A1*PI()) und 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 Sortierspezifikationen sortieren

Das folgende Codebeispiel spreadsheets.batchUpdate zeigt, wie Sie mit SortRangeRequest den Bereich A1:D10 zuerst nach Spalte B in aufsteigender Reihenfolge, dann nach Spalte C in absteigender Reihenfolge und anschließend nach Spalte D in absteigender Reihenfolge 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"
          }
        ]
      }
    }
  ]
}