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. durch das Erstellen von fixierten Zeilen, das Fettformatieren von Zellen, die Implementierung von Währungsformatierungen, die Durchführung 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 im Inneren 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

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 Komma als Trennzeichen gruppiert werden sollen, dass nach dem Dezimalpunkt vier Ziffern stehen sollen 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.

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