Mit der Google Sheets API lassen sich Regeln für die bedingte Formatierung erstellen und aktualisieren in Tabellenkalkulationen. Nur bestimmte Formatierungstypen (fett, kursiv, durchgestrichen, Vorder- und Hintergrundfarbe) können durch bedingte Formatierung. Die Beispiele auf dieser Seite veranschaulichen, wie sich gängige bedingte Formatierung mithilfe der Sheets API durchführen.
Diese Beispiele werden als HTTP-Anfragen dargestellt, damit sie sprachneutral sind. Weitere Informationen Wie eine Batch-Aktualisierung in verschiedenen Sprachen mithilfe der Google API implementiert wird finden Sie unter Aktualisieren Tabellen.
In diesen Beispielen haben die Platzhalter SPREADSHEET_ID und SHEET_ID
gibt an, wo Sie diese IDs angeben würden. Sie finden die Tabelle
ID in der Tabellen-URL. Sie erhalten
Tabellenblatt-ID mithilfe des
spreadsheets.get
-Methode. Die
Bereiche werden in der A1-Notation angegeben. Eine
Beispielbereich ist Sheet1!A1:D5.
Bedingten Farbverlauf in einer Zeile hinzufügen
Die folgenden
spreadsheets.batchUpdate
Das Codebeispiel für Methoden zeigt, wie die Methode
AddConditionalFormatRuleRequest
um neue Regeln für die bedingte Formatierung mit Farbverläufen für die Zeilen 10 und 11 einer
Tabellenblatt. Die erste Regel besagt, dass Zellen in dieser Zeile ihre Hintergrundfarben haben.
entsprechend ihrem Wert festgelegt. Der niedrigste Wert in der Zeile ist dunkelrot,
während der höchste Wert hellgrün ist. Die Farbe der anderen Werte
interpoliert wird. Die zweite Regel macht dasselbe, aber mit bestimmten numerischen Werten
die Endpunkte des Farbverlaufs (und die verschiedenen Farben) bestimmen. Die Anfrage verwendet die Methode
sheets.InterpolationPointType
als type
.
Das Anfrageprotokoll ist unten zu sehen.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 9, "endRowIndex": 10, } ], "gradientRule": { "minpoint": { "color": { "green": 0.2, "red": 0.8 }, "type": "MIN" }, "maxpoint": { "color": { "green": 0.9 }, "type": "MAX" }, } }, "index": 0 } }, { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 10, "endRowIndex": 11, } ], "gradientRule": { "minpoint": { "color": { "green": 0.8, "red": 0.8 }, "type": "NUMBER", "value": "0" }, "maxpoint": { "color": { "blue": 0.9, "green": 0.5, "red": 0.5 }, "type": "NUMBER", "value": "256" }, } }, "index": 1 } }, ] }
Nach der Anfrage wird das Tabellenblatt durch die angewendete Formatierungsregel aktualisiert. Da sich der Farbverlauf
in Zeile 11 ist der Maximalwert auf 256
festgelegt, alle darüber liegenden Werte haben den Maximalwert
Farbe:
Regeln für die bedingte Formatierung zu einer Gruppe von Bereichen hinzufügen
Die folgenden
spreadsheets.batchUpdate
Das Codebeispiel für Methoden zeigt, wie die Methode
AddConditionalFormatRuleRequest
um eine neue Regel für die bedingte Formatierung für die Spalten A und C eines Tabellenblatts festzulegen.
Die Regel besagt, dass Zellen mit Werten von 10 oder weniger ihren Hintergrund haben
in ein Dunkelrot geändert. Die Regel wird bei Index 0 eingefügt,
Vorrang vor anderen Formatierungsregeln. Die Anfrage verwendet die Methode
ConditionType
als type
für den
BooleanRule
Das Anfrageprotokoll ist unten zu sehen.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startColumnIndex": 0, "endColumnIndex": 1, }, { "sheetId": SHEET_ID, "startColumnIndex": 2, "endColumnIndex": 3, }, ], "booleanRule": { "condition": { "type": "NUMBER_LESS_THAN_EQ", "values": [ { "userEnteredValue": "10" } ] }, "format": { "backgroundColor": { "green": 0.2, "red": 0.8, } } } }, "index": 0 } } ] }
Nach der Anfrage wird die Tabelle durch die angewendete Formatierungsregel aktualisiert:
Einem Bereich Regeln für die bedingte Formatierung mit Datum und Text hinzufügen
Die folgenden
spreadsheets.batchUpdate
Das Codebeispiel für Methoden zeigt, wie die Methode
AddConditionalFormatRuleRequest
um neue Regeln für die bedingte Formatierung
für den Bereich A1:D5 in einem Blatt festzulegen,
basierend auf Datums- und Textwerten
in diesen Zellen. Wenn der Text die Zeichenfolge enthält
„Kosten“ (Groß-/Kleinschreibung nicht berücksichtigend) wird der Zellentext mit der ersten Regel fett formatiert. Wenn die
ein Datum vor der vergangenen Woche enthält, legt die zweite Regel das Datum
kursiv dargestellt und blau eingefärbt. In der Anfrage wird der
ConditionType
als type
für den
BooleanRule
Das Anfrageprotokoll ist unten zu sehen.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4, } ], "booleanRule": { "condition": { "type": "TEXT_CONTAINS", "values": [ { "userEnteredValue": "Cost" } ] }, "format": { "textFormat": { "bold": true } } } }, "index": 0 } }, { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4, } ], "booleanRule": { "condition": { "type": "DATE_BEFORE", "values": [ { "relativeDate": "PAST_WEEK" } ] }, "format": { "textFormat": { "italic": true, "foregroundColor": { "blue": 1 } } } } }, "index": 1 } } ] }
Nach der Anfrage wird das Tabellenblatt durch die angewendete Formatierungsregel aktualisiert. In diesem Beispiel das aktuelle Datum ist der 26.09.2016:
Benutzerdefinierte Formelregel zu einem Bereich hinzufügen
Die folgenden
spreadsheets.batchUpdate
Das Codebeispiel für Methoden zeigt, wie die Methode
AddConditionalFormatRuleRequest
um eine neue bedingte Formatierungsregel
für den Bereich B5:B8 in einem Blatt festzulegen,
basierend auf einer benutzerdefinierten Formel. Die Regel berechnet das Produkt der Zelle in
die Spalten A und B. Ist das Produkt größer als 120, wird der Zellentext auf
fett und kursiv formatiert. In der Anfrage wird der
ConditionType
als type
für den
BooleanRule
Das Anfrageprotokoll ist unten zu sehen.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startColumnIndex": 2, "endColumnIndex": 3, "startRowIndex": 4, "endRowIndex": 8 } ], "booleanRule": { "condition": { "type": "CUSTOM_FORMULA", "values": [ { "userEnteredValue": "=GT(A5*B5,120)" } ] }, "format": { "textFormat": { "bold": true, "italic": true } } } }, "index": 0 } } ] }
Nach der Anfrage wird die Tabelle durch die angewendete Formatierungsregel aktualisiert:
Regeln für die bedingte Formatierung löschen
Die folgenden
spreadsheets.batchUpdate
Das Codebeispiel für Methoden zeigt, wie die Methode
DeleteConditionalFormatRuleRequest
, um die Regel für die bedingte Formatierung mit dem Index 0
im angegebenen Tabellenblatt zu löschen
von SHEET_ID
Das Anfrageprotokoll ist unten zu sehen.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "deleteConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0 } } ] }
Liste der Regeln für die bedingte Formatierung lesen
Die folgenden
spreadsheets.get
-Methodencode
Das Beispiel zeigt, wie der Titel, SHEET_ID und eine Liste aller
Regeln für die bedingte Formatierung
für jedes Tabellenblatt. Die fields
-Abfrage
bestimmt, welche Daten zurückgegeben werden.
Das Anfrageprotokoll ist unten zu sehen.
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets(properties(title,sheetId),conditionalFormats)
Die Antwort besteht aus einem
Spreadsheet
-Ressource, die
enthält ein Array von
Sheet
-Objekte, die jeweils
eine
SheetProperties
und ein Array von
ConditionalFormatRule
.
Elemente. Wenn ein bestimmtes Antwortfeld auf den Standardwert festgelegt ist, wird es ausgelassen,
aus der Antwort. In der Anfrage wird der
ConditionType
als type
für den
BooleanRule
{ "sheets": [ { "properties": { "sheetId": 0, "title": "Sheet1" }, "conditionalFormats": [ { "ranges": [ { "startRowIndex": 4, "endRowIndex": 8, "startColumnIndex": 2, "endColumnIndex": 3 } ], "booleanRule": { "condition": { "type": "CUSTOM_FORMULA", "values": [ { "userEnteredValue": "=GT(A5*B5,120)" } ] }, "format": { "textFormat": { "bold": true, "italic": true } } } }, { "ranges": [ { "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4 } ], "booleanRule": { "condition": { "type": "DATE_BEFORE", "values": [ { "relativeDate": "PAST_WEEK" } ] }, "format": { "textFormat": { "foregroundColor": { "blue": 1 }, "italic": true } } } }, ... ] } ] }
Regel für die bedingte Formatierung oder ihre Priorität aktualisieren
Die folgenden
spreadsheets.batchUpdate
Das Codebeispiel für Methoden zeigt, wie die Methode
UpdateConditionalFormatRuleRequest
mit mehreren Anfragen. Mit der ersten Anfrage wird ein vorhandenes bedingtes Format verschoben
in einen höheren Index (von 0
auf 2
, wobei ihre Priorität verringert wird). Die zweite
Bei der Anfrage wird die Regel für die bedingte Formatierung bei Index 0
durch eine neue Regel ersetzt
zur Formatierung von Zellen, die genau den angegebenen Text ("Gesamtkosten") im
A1:D5-Bereich. Die Verschiebung der ersten
Anfrage ist abgeschlossen, bevor die zweite
Mit der zweiten Anfrage wird die Regel ersetzt, die sich ursprünglich im Index 1
befand. Die
-Anfrage verwendet den
ConditionType
als type
für den
BooleanRule
Das Anfrageprotokoll ist unten zu sehen.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "updateConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0, "newIndex": 2 }, "updateConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0, "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4, } ], "booleanRule": { "condition": { "type": "TEXT_EQ", "values": [ { "userEnteredValue": "Total Cost" } ] }, "format": { "textFormat": { "bold": true } } } } } } ] }