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 ausgeführt werden können. Weitere Beispiele für die bedingte Formatierung finden Sie auf der Rezeptseite Bedingte Formatierung.

Beim Aktualisieren einer Tabelle können für bestimmte Arten von Anfragen Antworten zurückgegeben werden. Sie werden in einem Array zurückgegeben, wobei jede Antwort denselben Index wie die entsprechende Anfrage hat. Für einige Anfragen gibt es keine Antworten. In diesem Fall 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 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.

Im Video oben erfahren Sie, wie Sie Tabellenzellen auf verschiedene Arten formatieren, z. B. Zeilen fixieren, Zellen fett formatieren, Währungsformatierung anwenden, Zellen validieren und Zellwerte einschränken.

Zellrahmen bearbeiten

Das folgende spreadsheets.batchUpdate-Codebeispiel zeigt, wie Sie mit UpdateBordersRequest jeder Zelle im Bereich A1:F10 eine gestrichelte blaue obere und untere Umrandung zuweisen. Mit dem Feld innerHorizontal werden horizontale Rahmenlinien im Inneren des Bereichs erstellt. Wenn Sie das Feld weglassen, werden nur oben und unten im gesamten Bereich Rahmenlinien hinzugefügt.

Eine 3 × 3-Tabelle, in der jede Zelle eine gestrichelte blaue obere und untere Umrandung hat.
Abbildung 1: Formatieren Sie jede Zelle in einem Tabellenblatt mit einem gestrichelten blauen oberen und unteren Rahmen.

Das Anfrageprotokoll wird unten angezeigt.

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 spreadsheets.batchUpdate-Codebeispiel zeigt, wie Sie mit RepeatCellRequest eine Kopfzeile in einem Tabellenblatt formatieren. In der ersten Anfrage werden die Textfarbe, die Hintergrundfarbe, die Schriftgröße und die Textausrichtung aktualisiert und der Text wird fett formatiert. Wenn Sie die Spaltenindexe im Feld range weglassen, wird die gesamte Zeile formatiert. Mit der zweiten Anfrage werden die Tabelleneigenschaften so angepasst, dass die Kopfzeile fixiert wird.

Eine 3 × 3-Tabelle mit einer formatierten Kopfzeile in einem Tabellenblatt.
Abbildung 2: Kopfzeile in einem Tabellenblatt formatieren

Das Anfrageprotokoll wird unten angezeigt.

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 spreadsheets.batchUpdate-Codebeispiel zeigt, wie Sie mit MergeCellsRequest Zellen zusammenführen. Bei der ersten Anfrage wird der Bereich A1:B2 in einer einzelnen Zelle zusammengeführt. Bei der zweiten Anfrage werden die Spalten in A3:B6 zusammengeführt, die Zeilen bleiben jedoch getrennt.

Eine 3 × 3-Tabelle mit verbundenen Zellen in einem Tabellenblatt.
Abbildung 3: Zellen in einem Tabellenblatt zusammenführen

Das Anfrageprotokoll wird unten angezeigt.

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-/Uhrzeit- oder Dezimalformat für einen Bereich festlegen

Das folgende spreadsheets.batchUpdate-Codebeispiel zeigt, wie Sie mit RepeatCellRequest Zellen mit benutzerdefinierten Datums-/Uhrzeit- und Zahlenformaten aktualisieren. Im ersten Antrag wird den Zellen im Bereich A1:A10 das benutzerdefinierte Datums-/Uhrzeitformat hh:mm:ss am/pm, ddd mmm dd yyyy zugewiesen. Ein Beispiel für ein Datum/eine Uhrzeit in diesem Format ist: „02:05:07 PM, Sun Apr 03 2016“.

Mit der zweiten Anfrage wird den Zellen in B1:B10 das benutzerdefinierte Zahlenformat #,##0.0000 zugewiesen. Dieses gibt an, dass Zahlen mit Kommas als Trennzeichen gruppiert werden sollen, dass es vier Ziffern nach dem Dezimalkomma geben soll und dass 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.

Weitere Informationen finden Sie unter Datums- und Zahlenformate.

Eine 3 × 3-Tabelle mit benutzerdefinierten Datums-/Uhrzeit- und Zahlenformaten in einem Tabellenblatt.
Abbildung 4: Zellen in einem Tabellenblatt mit benutzerdefinierten Datums-/Uhrzeit- und Zahlenformaten aktualisieren

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