L'API Fogli Google consente di creare e aggiornare le regole di formattazione condizionale nei fogli di lavoro. Solo alcuni tipi di formattazione (grassetto, corsivo, barrato, colore in primo piano e colore di sfondo) possono essere controllate attraverso formattazione. Gli esempi in questa pagina illustrano come ottenere operazioni di formattazione condizionale con l'API Fogli.
Questi esempi vengono presentati come richieste HTTP per essere indipendenti dal linguaggio. Per ulteriori informazioni come implementare un aggiornamento batch in lingue diverse utilizzando l'API di Google librerie client, consulta l'articolo Aggiornamento delle fogli di lavoro.
In questi esempi, i segnaposto SPREADSHEET_ID e SHEET_ID
indica dove fornire questi ID. Puoi trovare il foglio di lavoro
ID nell'URL del foglio di lavoro. Puoi ottenere
l'ID foglio utilizzando la proprietà
spreadsheets.get
. La
vengono specificati utilizzando la notazione A1. Un
di esempio è Foglio1!A1:D5.
Aggiungere un gradiente di colore condizionale in una riga
Le seguenti
spreadsheets.batchUpdate
l'esempio di codice del metodo mostra come utilizzare
AddConditionalFormatRuleRequest
per stabilire nuove regole di formattazione condizionale del gradiente per le righe 10 e 11 di un
in un foglio di calcolo. La prima regola indica che le celle in quella riga hanno i loro colori di sfondo
impostati in base al loro valore. Il valore più basso nella riga è di colore rosso scuro,
mentre il valore più alto è di colore verde brillante. Il colore degli altri valori.
viene interpolata. La seconda regola funziona nello stesso modo, ma con valori numerici specifici
determinare gli endpoint dei gradienti (e i diversi colori). La richiesta utilizza
sheets.InterpolationPointType
come type
.
Il protocollo di richiesta è mostrato di seguito.
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 } }, ] }
Dopo la richiesta, la regola di formattazione applicata aggiorna il foglio. Poiché il gradiente
nella riga 11 il punto massimo è impostato su 256
e tutti i valori al di sopra hanno il punto massimo
colore:
Aggiungere una regola di formattazione condizionale a un insieme di intervalli
Le seguenti
spreadsheets.batchUpdate
l'esempio di codice del metodo mostra come utilizzare
AddConditionalFormatRuleRequest
per stabilire una nuova regola di formattazione condizionale per le colonne A e C di un foglio.
La regola afferma che le celle con valori pari o inferiori a 10 hanno lo sfondo
colori diventati rosso scuro. La regola viene inserita nell'indice 0, pertanto richiede
la priorità rispetto alle altre regole di formattazione. La richiesta utilizza
ConditionType
come type
per
BooleanRule
.
Il protocollo di richiesta è mostrato di seguito.
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 } } ] }
Dopo la richiesta, la regola di formattazione applicata aggiorna il foglio:
Aggiungi regole di formattazione condizionale per data e testo a un intervallo
Le seguenti
spreadsheets.batchUpdate
l'esempio di codice del metodo mostra come utilizzare
AddConditionalFormatRuleRequest
per stabilire nuove regole di formattazione condizionale per l'intervallo A1:D5 in un foglio,
in base alle date e ai valori di testo presenti nelle celle. Se il testo contiene la stringa
"Costo" (senza distinzione tra maiuscole e minuscole), la prima regola imposta il testo della cella in grassetto. Se
contiene una data antecedente alla settimana precedente, la seconda regola imposta
il testo della cella in corsivo e lo colora di blu. La richiesta utilizza
ConditionType
come type
per
BooleanRule
.
Il protocollo di richiesta è mostrato di seguito.
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 } } ] }
Dopo la richiesta, la regola di formattazione applicata aggiorna il foglio. In questo esempio, la data corrente è il 26/09/2016:
Aggiungi una regola formula personalizzata a un intervallo
Le seguenti
spreadsheets.batchUpdate
l'esempio di codice del metodo mostra come utilizzare
AddConditionalFormatRuleRequest
per stabilire una nuova regola di formattazione condizionale per l'intervallo B5:B8 in un foglio,
in base a una formula personalizzata. La regola calcola il prodotto della cella in
colonne A e B. Se il prodotto è maggiore di 120, il testo della cella è impostato su
grassetto e corsivo. La richiesta utilizza
ConditionType
come type
per
BooleanRule
.
Il protocollo di richiesta è mostrato di seguito.
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 } } ] }
Dopo la richiesta, la regola di formattazione applicata aggiorna il foglio:
Eliminare una regola di formattazione condizionale
Le seguenti
spreadsheets.batchUpdate
l'esempio di codice del metodo mostra come utilizzare
DeleteConditionalFormatRuleRequest
per eliminare la regola di formattazione condizionale con indice 0
nel foglio specificato
entro il giorno SHEET_ID.
Il protocollo di richiesta è mostrato di seguito.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "deleteConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0 } } ] }
Leggi l'elenco delle regole di formattazione condizionale
Le seguenti
Codice del metodo spreadsheets.get
esempio mostra come ottenere il titolo, SHEET_ID e l'elenco di tutte
regole di formattazione condizionale per ciascun foglio di un foglio di lavoro. La query fields
determina i dati da restituire.
Il protocollo di richiesta è mostrato di seguito.
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets(properties(title,sheetId),conditionalFormats)
La risposta è composta da un
Spreadsheet
, che
contiene un array di
Sheet
oggetti, ciascuno con
un
SheetProperties
e un array di dati
ConditionalFormatRule
elementi. Se un determinato campo di risposta è impostato sul valore predefinito, viene omesso
dalla risposta. La richiesta utilizza
ConditionType
come type
per
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 } } } }, ... ] } ] }
Aggiornare una regola di formattazione condizionale o la sua priorità
Le seguenti
spreadsheets.batchUpdate
l'esempio di codice del metodo mostra come utilizzare
UpdateConditionalFormatRuleRequest
con più richieste. La prima richiesta sposta un formato condizionale esistente
a un indice più alto (da 0
a 2
, diminuendo la sua priorità). Il secondo
sostituisce la regola di formattazione condizionale nell'indice 0
con una nuova regola
che formatta le celle contenenti il testo esatto specificato ("Costo totale") nei
Intervallo A1:D5. Lo spostamento della prima richiesta viene completato prima dell'inizio della seconda, quindi
la seconda richiesta sostituisce la regola originariamente presente nell'indice 1
. La
utilizza il parametro
ConditionType
come type
per
BooleanRule
.
Il protocollo di richiesta è mostrato di seguito.
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 } } } } } } ] }