Datenvorgänge

Mit der Google Sheets API können Sie Daten in Tabellenkalkulationen 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 zeigen, wie Sie einige häufige Tabellenkalkulationsvorgänge mit der Sheets API ausführen können.

Diese Beispiele werden in Form von HTTP-Anfragen dargestellt, um sprachneutral zu sein. Informationen zum Implementieren einer Batchaktualisierung in verschiedenen Sprachen mit den Google API-Clientbibliotheken finden Sie unter Tabellenkalkulationen aktualisieren.

In diesen Beispielen geben die Platzhalter SPREADSHEET_ID und SHEET_ID an, wo Sie diese IDs angeben müssen. Sie finden die Tabellen ID in der Tabellen-URL. Sie können die Tabellenblatt-ID mit der spreadsheets.get Methode abrufen. Die Bereiche werden in der A1-Notation angegeben. Ein Beispielbereich ist Sheet1!A1:D5.

Datenvalidierung auf einen Bereich anwenden

Das folgende spreadsheets.batchUpdate Codebeispiel zeigt, wie Sie mit dem SetDataValidationRequest eine Datenvalidierungsregel anwenden, bei der „Wert > 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 nur die Formatierung 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 Sie CutPasteRequestverwenden. Der Bereich A1:D10 wird ausgeschnitten und die PasteType Enumeration mit PASTE_NORMAL wird verwendet, um die Werte, Formeln, Formatierung und Zusammenführungen in den Bereich F1:I10 im selben Tabellenblatt einzufügen. Die ursprünglichen Zellinhalte des Quellbereichs 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 auf einen Bereich anwenden

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 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 nach Spalte B in aufsteigender Reihenfolge, dann nach Spalte C in absteigender Reihenfolge und dann nach Spalte D in absteigender Reihenfolge.

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