Grundlegende Formatierung

Mit der Google Sheets API können Sie die Formatierung von Zellen und Bereichen in Tabellen aktualisieren. Die Beispiele auf dieser Seite veranschaulichen, wie einige gängige Formatierungsvorgänge mit der Sheets API realisiert werden können. Weitere Beispiele für die bedingte Formatierung finden Sie auf der Schemaseite für Bedingte Formatierung.

Beim Aktualisieren einer Tabelle geben einige Arten von Anfragen möglicherweise Antworten zurück. Diese werden in einem Array zurückgegeben, wobei jede Antwort denselben Index wie die entsprechende Anfrage enthält. Für einige Anfragen gibt es keine Antworten. Bei anderen ist die Antwort leer. Die Antwortstruktur für diese Beispiele finden Sie unter spreadsheets.batchUpdate.

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.

Im obigen Video erfahren Sie, wie Sie Tabellenzellen auf verschiedene Arten formatieren, z. B. wie Sie fixierte Zeilen erstellen, Zellen fett formatieren, eine Währungsformatierung implementieren, eine Zellenvalidierung durchführen und Zellenwerte einschränken.

Zellenrahmen bearbeiten

Das folgende Codebeispiel spreadsheets.batchUpdate zeigt, wie Sie mit UpdateBordersRequest jeder Zelle im A1:F10-Bereich einen gestrichelten, blauen Rahmen oben und unten zuweisen. Mit dem Feld innerHorizontal werden horizontale Rahmen im Inneren des Bereichs erstellt. Wird das Feld weggelassen, werden Rahmen nur am oberen und unteren Rand des gesamten Bereichs hinzugefügt.

3 x 3-Tabelle, wobei jede Zelle oben und unten blau gestrichelt ist.
Abbildung 1: Formatieren Sie jede Zelle auf einem Blatt mit einem gestrichelten, blauen Rahmen oben und unten.

Das Anfrageprotokoll ist unten dargestellt.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateBorders": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 6
        },
        "top": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
        "bottom": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
        "innerHorizontal": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
      }
    }
  ]
}

Kopfzeile formatieren

Das folgende Codebeispiel spreadsheets.batchUpdate zeigt, wie Sie mit RepeatCellRequest eine Kopfzeile in einem Tabellenblatt formatieren können. Mit der ersten Anfrage werden die Textfarbe, die Hintergrundfarbe, die Schriftgröße und die Textausrichtung aktualisiert und der Text fett formatiert. Wenn Sie die Spaltenindexe im Feld range weglassen, wird die gesamte Zeile formatiert. Die zweite Anfrage passt die Eigenschaften der Tabelle so an, dass die Kopfzeile fixiert wird.

3 × 3-Tabelle mit einer formatierten Kopfzeile in einem Tabellenblatt.
Abbildung 2: Formatieren Sie die Kopfzeile in einem Tabellenblatt.

Das Anfrageprotokoll ist unten dargestellt.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 1
        },
        "cell": {
          "userEnteredFormat": {
            "backgroundColor": {
              "red": 0.0,
              "green": 0.0,
              "blue": 0.0
            },
            "horizontalAlignment" : "CENTER",
            "textFormat": {
              "foregroundColor": {
                "red": 1.0,
                "green": 1.0,
                "blue": 1.0
              },
              "fontSize": 12,
              "bold": true
            }
          }
        },
        "fields": "userEnteredFormat(backgroundColor,textFormat,horizontalAlignment)"
      }
    },
    {
      "updateSheetProperties": {
        "properties": {
          "sheetId": SHEET_ID,
          "gridProperties": {
            "frozenRowCount": 1
          }
        },
        "fields": "gridProperties.frozenRowCount"
      }
    }
  ]
}

Zellen verbinden

Das folgende Codebeispiel spreadsheets.batchUpdate zeigt, wie Sie mit MergeCellsRequest Zellen verbinden. Die erste Anfrage führt den A1:B2-Bereich in einer einzigen Zelle zusammen. Die zweite Anfrage führt die Spalten in A3:B6 zusammen, wobei die Zeilen getrennt bleiben.

3 × 3-Tabelle mit verbundenen Zellen in einem Tabellenblatt.
Abbildung 3: Zellen in einem Tabellenblatt verbinden.

Das Anfrageprotokoll ist unten dargestellt.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "mergeCells": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 2,
          "startColumnIndex": 0,
          "endColumnIndex": 2
        },
        "mergeType": "MERGE_ALL"
      }
    },
    {
      "mergeCells": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 2,
          "endRowIndex": 6,
          "startColumnIndex": 0,
          "endColumnIndex": 2
        },
        "mergeType": "MERGE_COLUMNS"
      }
    },
  ]
}

Benutzerdefiniertes Datums- oder Dezimalformat für einen Bereich festlegen

Im folgenden Codebeispiel spreadsheets.batchUpdate wird gezeigt, wie Sie mit RepeatCellRequest Zellen in benutzerdefinierten Datums- und Zahlenformaten aktualisieren. Mit der ersten Anfrage wird den Zellen im Bereich A1:A10 das benutzerdefinierte Datum/Uhrzeit-Format hh:mm:ss am/pm, ddd mmm dd yyyy zugewiesen. Ein Beispiel für Datum und Uhrzeit in diesem Format ist: "02:05:07 PM, Sun Apr 03 2016".

Die zweite Anfrage weist den Zellen in B1:B10 das benutzerdefinierte Zahlenformat #,##0.0000 zu. Dies gibt an, dass Zahlen mit Kommatrennzeichen gruppiert werden sollen, dass vier Ziffern nach dem Dezimalzeichen stehen und alle führenden Nullen bis auf eine entfernt werden sollen. Die Zahl „3.14“ wird beispielsweise als „3.1400“ und „12345.12345“ als „12,345.1235“ gerendert.

3 × 3-Tabelle mit benutzerdefinierten Datums- und Zahlenformaten in einem Tabellenblatt.
Abbildung 4: Aktualisieren Sie Zellen so, dass sie benutzerdefinierte Datums- und Zahlenformate in einem Tabellenblatt haben.

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": 0,
          "endColumnIndex": 1
        },
        "cell": {
          "userEnteredFormat": {
            "numberFormat": {
              "type": "DATE",
              "pattern": "hh:mm:ss am/pm, ddd mmm dd yyyy"
            }
          }
        },
        "fields": "userEnteredFormat.numberFormat"
      }
    },
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 1,
          "endColumnIndex": 2
        },
        "cell": {
          "userEnteredFormat": {
            "numberFormat": {
              "type": "NUMBER",
              "pattern": "#,##0.0000"
            }
          }
        },
        "fields": "userEnteredFormat.numberFormat"
      }
    }
  ]
}