Datenvorgänge

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"
          }
        ]
      }
    }
  ]
}