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

Beim Aktualisieren einer Tabelle können bei einigen Arten von Anfragen Antworten zurückgegeben werden. Diese werden in einem Array zurückgegeben, wobei jede Antwort denselben Index wie die entsprechende Anfrage belegt. 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 sprachneutralen HTTP-Anfragen präsentiert. 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 Tabellenblatt-ID können Sie mit der Methode spreadsheets.get abrufen. Die Bereiche werden in der A1-Schreibweise angegeben. Ein Beispielbereich ist Sheet1!A1:D5.

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

Zellenrahmen bearbeiten

Im folgenden Codebeispiel für spreadsheets.batchUpdate wird gezeigt, wie Sie mithilfe von UpdateBordersRequest jeder Zelle im Bereich A1:F10 einen gestrichelten blauen Rahmen oben und unten zuweisen. Mit dem Feld innerHorizontal wird der Bereich innerhalb des Bereichs horizontal umrahmt. Wird das Feld weggelassen, werden die Rahmen nur am oberen und unteren Rand des gesamten Bereichs hinzugefügt.

Tabelle mit 3 zu 3, wobei jede Zelle oben und unten einen gestrichelten blauen Rahmen hat.
Abbildung 1: Formatieren Sie jede Zelle in einem Tabellenblatt mit einem gestrichelten blauen Rahmen oben und unten.

Das Anfrageprotokoll ist unten zu sehen.

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 Codebeispiel für spreadsheets.batchUpdate wird gezeigt, wie Sie mit RepeatCellRequest eine Kopfzeile in einem Tabellenblatt formatieren. Die erste Anfrage aktualisiert die Textfarbe, die Hintergrundfarbe, die Schriftgröße und die Textausrichtung und macht den Text fett. Wenn im Feld range die Spaltenindexe weggelassen werden, wird die gesamte Zeile formatiert. Mit der zweiten Anfrage werden die Tabellenblatteigenschaften so angepasst, dass die Kopfzeile fixiert wird.

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

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": 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. In der ersten Anforderung wird der A1:B2-Bereich zu einer einzigen Zelle zusammengeführt. In der zweiten Anfrage werden die Spalten in A3:B6 zusammengeführt, 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 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- oder Dezimalformat für einen Bereich festlegen

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

Die zweite Anfrage gibt den Zellen in B1:B10 das benutzerdefinierte Zahlenformat #,##0.0000, das angibt, dass Zahlen mit Kommatrennzeichen gruppiert werden sollen, dass vier Ziffern nach dem Dezimalzeichen stehen und alle bis auf eine führende Null entfernt werden sollen. So wird beispielsweise die Zahl „3.14“ als „3,1400“ und „12345.12345“ als „12,345.1235“ dargestellt.

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

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