Interfejs Google Arkuszy API umożliwia tworzenie i aktualizowanie reguł formatowania warunkowego w arkuszach kalkulacyjnych. tylko niektóre typy formatowania (pogrubienie, kursywa, przekreślenie, kolor pierwszego planu i kolor tła) można kontrolować za pomocą funkcji sformatowanie. Przykłady na tej stronie pokazują, jak osiągnąć operacji formatowania warunkowego za pomocą interfejsu API Arkuszy.
Te przykłady są prezentowane jako żądania HTTP bez względu na język. Aby się uczyć Jak wdrożyć aktualizację zbiorczą w różnych językach przy użyciu interfejsu API Google? biblioteki klienta, patrz sekcja Aktualizacja arkusze kalkulacyjne.
W tych przykładach zmienne SPREADSHEET_ID i SHEET_ID
wskazuje, gdzie należy je podać. Arkusz kalkulacyjny można znaleźć
ID w adresie URL arkusza kalkulacyjnego. Możesz uzyskać
identyfikator arkusza za pomocą funkcji
spreadsheets.get
.
zakresy określa się w notacji A1. An
przykładowy zakres to Arkusz1!A1:D5.
Dodawanie warunkowego gradientu koloru w wierszu
Poniżej
spreadsheets.batchUpdate
przykładowy kod metody pokazuje, jak używać metody
AddConditionalFormatRuleRequest
nowe reguły formatowania warunkowego gradientu dla wierszy 10 i 11
arkusza kalkulacyjnego. Pierwsza reguła określa, że komórki w tym wierszu mają kolory tła
ustawiany zgodnie z ich wartością. Najniższa wartość w wierszu jest w kolorze ciemnoczerwonym,
a najwyższa ma kolor jasnozielony. Kolor innych wartości.
jest interpolowana. Druga reguła jest taka sama, ale z określonymi wartościami liczbowymi
określania punktów końcowych gradientu (i różnych kolorów). W żądaniu użyto parametru
sheets.InterpolationPointType
jak type
.
Protokół żądania jest widoczny poniżej.
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 } }, ] }
Po przesłaniu żądania zastosowana reguła formatu zaktualizuje arkusz. Ponieważ gradient
w wierszu 11 wartość maksymalna jest ustawiona na 256
, wszystkie wartości nad nim mają wartość maxpoint
kolor:
Dodawanie reguły formatowania warunkowego do zbioru zakresów
Poniżej
spreadsheets.batchUpdate
przykładowy kod metody pokazuje, jak używać metody
AddConditionalFormatRuleRequest
aby utworzyć nową regułę formatowania warunkowego dla kolumn A i C w arkuszu.
Reguła określa, że tło komórek o wartości 10 lub mniejszej
zmienił kolor na ciemnoczerwony. Reguła jest wstawiona w indeksie 0, więc zabiera
mają wyższy priorytet niż inne reguły formatowania. W żądaniu użyto parametru
ConditionType
jako type
dla
BooleanRule
Protokół żądania jest widoczny poniżej.
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 } } ] }
Po przesłaniu żądania zastosowana reguła formatu zaktualizuje arkusz:
Dodawanie do zakresu reguł formatowania warunkowego daty i tekstu
Poniżej
spreadsheets.batchUpdate
przykładowy kod metody pokazuje, jak używać metody
AddConditionalFormatRuleRequest
w celu utworzenia nowych reguł formatowania warunkowego dla zakresu A1:D5 w arkuszu,
na podstawie daty i wartości tekstowych w tych komórkach. Jeśli tekst zawiera ciąg znaków
„Koszt” (wielkość liter nie jest rozróżniana), pierwsza reguła pogrubi tekst w komórce. Jeśli
komórka zawiera datę sprzed ostatniego tygodnia, druga reguła ustawia
tekstu w komórce kursywą i kolorem niebieskim. W żądaniu użyto parametru
ConditionType
jako type
dla
BooleanRule
Protokół żądania jest widoczny poniżej.
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 } } ] }
Po przesłaniu żądania zastosowana reguła formatu zaktualizuje arkusz. W tym przykładzie aktualna data to 26.09.2016 r.:
Dodawanie niestandardowej reguły formuły do zakresu
Poniżej
spreadsheets.batchUpdate
przykładowy kod metody pokazuje, jak używać metody
AddConditionalFormatRuleRequest
aby utworzyć nową regułę formatowania warunkowego dla zakresu B5:B8 w arkuszu,
na podstawie formuły niestandardowej. Reguła oblicza iloczyn komórki w argumencie
kolumny A i B. Jeśli iloczyn ma wartość większą niż 120, tekst w komórce jest ustawiony na
pogrubienie i kursywę. W żądaniu użyto parametru
ConditionType
jako type
dla
BooleanRule
Protokół żądania jest widoczny poniżej.
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 } } ] }
Po przesłaniu żądania zastosowana reguła formatu zaktualizuje arkusz:
Usuwanie reguły formatowania warunkowego
Poniżej
spreadsheets.batchUpdate
przykładowy kod metody pokazuje, jak używać metody
DeleteConditionalFormatRuleRequest
aby usunąć regułę formatowania warunkowego z indeksem 0
w określonym arkuszu
autor: SHEET_ID.
Protokół żądania jest widoczny poniżej.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "deleteConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0 } } ] }
Przeczytaj listę reguł formatowania warunkowego
Poniżej
kod metody spreadsheets.get
,
przykład pokazuje, jak uzyskać tytuł, SHEET_ID i listę wszystkich
z regułami formatowania warunkowego poszczególnych arkuszy w arkuszu kalkulacyjnym. Zapytanie fields
określa, jakie dane zwrócić.
Protokół żądania jest widoczny poniżej.
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets(properties(title,sheetId),conditionalFormats)
Odpowiedź składa się z
Spreadsheet
, które
zawiera tablicę
Sheet
obiektów, z których każdy ma
w
SheetProperties
element i tablica
ConditionalFormatRule
. Jeśli dane pole odpowiedzi ma wartość domyślną, jest ono pomijane.
z odpowiedzi. W żądaniu użyto parametru
ConditionType
jako type
dla
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 } } } }, ... ] } ] }
Aktualizowanie reguły formatowania warunkowego lub jej priorytetu
Poniżej
spreadsheets.batchUpdate
przykładowy kod metody pokazuje, jak używać metody
UpdateConditionalFormatRuleRequest
z wieloma prośbami. Pierwsze żądanie powoduje przeniesienie istniejącego formatu warunkowego
na wyższy indeks (od 0
do 2
, co zmniejsza jego priorytet). Druga
żądanie zastępuje regułę formatowania warunkowego w indeksie 0
nową regułą
który formatuje komórki zawierające dokładnie określony tekst („Całkowity koszt”) w
zakres A1:D5. Przeniesienie pierwszego żądania kończy się przed rozpoczęciem drugiego, więc
drugie żądanie zastępuje regułę, która wcześniej była w indeksie 1
.
korzysta z funkcji
ConditionType
jako type
dla
BooleanRule
Protokół żądania jest widoczny poniżej.
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 } } } } } } ] }