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 Rezeptseite Bedingte Formatierung.

Beim Aktualisieren einer Tabelle können einige Arten von Anfragen Antworten zurückgeben. Sie werden in einem Array zurückgegeben, wobei jede Antwort denselben Index wie die entsprechende Anfrage hat. Einige Anfragen haben keine Antworten und für diese ist die Antwort leer. 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. 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.

Im obigen Video erfahren Sie, wie Sie Tabellenzellen auf verschiedene Arten formatieren können, z. B. indem Sie fixierte Zeilen erstellen, Zellen fett formatieren, Währungsformate implementieren, Zellenvalidierungen durchführen und Zellenwerte einschränken.

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 gepunkteten blauen 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 Kopfzeile 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

Das folgende Codebeispiel für spreadsheets.batchUpdate zeigt, wie Zellen mit MergeCellsRequest zusammengeführt werden. 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 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-/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 und dass alle führenden Nullen außer einer entfernt werden sollen. Die Zahl „3,14“ wird beispielsweise als „3,1400“ und „12345,12345“ als „12.345,1235“ dargestellt.

Eine Tabelle mit drei Zeilen und drei Spalten mit benutzerdefinierten Datums-/Uhrzeit- und Zahlenformaten
Abbildung 4: Zellen in einer Tabelle mit benutzerdefinierten Datums-/Zeit- und Zahlenformaten aktualisieren

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