Datenvorgänge

Mit der Google Sheets API können Sie Daten in Tabellen auf verschiedene Arten bearbeiten. Die meisten Funktionen, die Nutzern in der Google Tabellen-Benutzeroberfläche zur Verfügung stehen, sind auch mit der Google Tabellen API möglich. Die Beispiele auf dieser Seite veranschaulichen, wie Sie mit der Google Tabellen API einige gängige Tabellenvorgänge ausführen können.

Diese Beispiele werden in Form von HTTP-Anfragen dargestellt, um sprachenunabhängig zu sein. Informationen zum Implementieren eines Batch-Updates in verschiedenen Sprachen mit den Clientbibliotheken der Google API finden Sie unter Listen aktualisieren.

In diesen Beispielen geben die Platzhalter SPREADSHEET_ID und SHEET_ID an, wo Sie diese IDs angeben würden. Sie finden die Tabellen-ID in der Tabellen-URL. Sie können die Tabellen-ID mit der Methode spreadsheets.get abrufen. Die Bereiche werden in A1-Notation angegeben. Ein Beispiel für einen Bereich ist Tabelle1!A1:D5.

Datenvalidierung auf einen Bereich anwenden

Im folgenden spreadsheets.batchUpdate-Codebeispiel wird gezeigt, wie Sie mit SetDataValidationRequest eine Datenvalidierungsregel vom Typ „Wert > 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
        }
      }
    }
  ]
}

Zellenformatierungen kopieren und einfügen

Im folgenden Codebeispiel mit spreadsheets.batchUpdate wird gezeigt, wie Sie mit CopyPasteRequest die Formatierung nur im Bereich A1:D10 kopieren und in das gleiche Tabellenblatt in den Bereich F1:I10 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 Codebeispiel für spreadsheets.batchUpdate zeigt die Verwendung von CutPasteRequest. Der Bereich A1:D10 wird ausgeschnitten und die Werte, Formeln und Formatierungen werden mithilfe der Aufzählung PasteType und PASTE_NORMAL in den Bereich F1:I10 im selben Tabellenblatt eingefügt und zusammengeführt. Die Zelleninhalte des ursprünglichen 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"
      }
    }
  ]
}

Formeln in einem Bereich wiederholen

Im folgenden Codebeispiel mit spreadsheets.batchUpdate wird gezeigt, 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 Zelle links oben. Zelle B1 enthält beispielsweise die Formel =FLOOR(A1*PI()), 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 Sortiervorgaben sortieren

Im folgenden Codebeispiel spreadsheets.batchUpdate wird gezeigt, wie Sie mit SortRangeRequest den Bereich A1:D10 zuerst in aufsteigender Reihenfolge nach Spalte B, dann in absteigender Reihenfolge nach Spalte C und schließlich in absteigender Reihenfolge nach Spalte D 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"
          }
        ]
      }
    }
  ]
}