Grundlegende Formatierung

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

Beim Aktualisieren einer Tabelle können bei einigen 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, bei denen die Antwort leer ist. Die Antwortstruktur für diese Beispiele finden Sie unter spreadsheets.batchUpdate.

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. Die Tabellen-ID finden Sie in der Tabellen-URL. Die Tabellen-ID lässt sich mit der Methode spreadsheets.get ermitteln. Die Bereiche werden in A1-Notation angegeben. Ein Beispiel für einen Bereich ist Tabelle1!A1:D5.

Im obigen Video erfahren Sie, wie Sie Tabellenzellen auf verschiedene Arten formatieren können, z. B. durch das Erstellen eingefrorener Zeilen, das Fettformatieren von Zellen, das Implementieren von Währungsformatierungen, das Durchführen von Zellenvalidierungen und das Einschränken von Zellenwerten.

Zellrahmen bearbeiten

Im folgenden Codebeispiel spreadsheets.batchUpdate wird gezeigt, wie Sie mit UpdateBordersRequest jeder Zelle im Bereich A1:F10 einen gestrichelten blauen oberen und unteren Rahmen hinzufügen. Mit dem Feld innerHorizontal werden horizontale Rahmen innerhalb des Bereichs erstellt. Wenn Sie das Feld weglassen, werden nur oben und unten am gesamten Bereich Rahmen hinzugefügt.

Eine Tabelle mit 3 × 3 Zellen, deren obere und untere Ränder blau und gepunktet sind.
Abbildung 1: Formatieren Sie jede Zelle in einem Tabellenblatt mit einem blauen gepunkteten oberen und unteren Rahmen.

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

Im folgenden spreadsheets.batchUpdate-Codebeispiel wird gezeigt, wie Sie mit RepeatCellRequest eine Kopfzeile in einem Tabellenblatt formatieren. Mit der ersten Anfrage werden die Textfarbe, die Hintergrundfarbe, die Textschriftgröße und die Textausrichtung aktualisiert und der Text wird fett formatiert. Wenn Sie die Spaltenindizes im Feld range weglassen, wird die gesamte Zeile formatiert. Bei der zweiten Anfrage werden die Tabelleneigenschaften so angepasst, dass die Kopfzeilenzeile eingefroren ist.

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

Im folgenden Codebeispiel für spreadsheets.batchUpdate wird gezeigt, wie Sie mit MergeCellsRequest Zellen verbinden. Bei der ersten Anfrage wird der Bereich A1:B2 in eine einzelne Zelle zusammengeführt. Bei der zweiten Anfrage werden die Spalten in A3:B6 zusammengeführt, während die Zeilen getrennt bleiben.

3 × 3-Tabelle mit zusammengeführten Zellen in einem Tabellenblatt
Abbildung 3: Zellen in einem Tabellenblatt zusammenführen

Das Anfrageprotokoll ist unten zu sehen.

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

Im folgenden spreadsheets.batchUpdate-Codebeispiel wird gezeigt, wie Sie mit RepeatCellRequest Zellen mit benutzerdefinierten Datums-/Uhrzeit- und Zahlenformaten aktualisieren. Mit der ersten Anfrage 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 und eine Uhrzeit in diesem Format ist „14:05:07 Uhr, So., 03. April 2016“.

Mit der zweiten Anfrage wird den Zellen in B1:B10 das benutzerdefinierte Zahlenformat #,##0.0000 zugewiesen. Das bedeutet, dass Zahlen mit Kommas getrennt werden, dass nach dem Dezimalpunkt vier Ziffern stehen sollten und dass alle führenden Nullen außer einer entfernt werden sollten. So wird beispielsweise die Zahl „3.14“ als „3,1400“ und „12345.12345“ als „12,345.1235“ dargestellt.

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

Das Anfrageprotokoll ist unten zu sehen.

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