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