L'API Google Sheets vous permet de créer et de mettre à jour les règles de mise en forme conditionnelle dans les feuilles de calcul. Seuls certains types de mise en forme (gras, italique, barré, la couleur de premier plan et la couleur d'arrière-plan) peuvent être contrôlées via des mise en forme. Les exemples de cette page indiquent comment de mise en forme conditionnelle avec l'API Sheets.
Ces exemples sont présentés comme des requêtes HTTP afin de ne pas tenir compte du langage. Pour apprendre comment implémenter une mise à jour groupée dans différents langages à l'aide de l'API Google ; bibliothèques clientes, consultez la section Mettre à jour feuilles de calcul.
Dans ces exemples, les espaces réservés SPREADSHEET_ID et SHEET_ID
indique où vous devez fournir ces identifiants. Vous pouvez accéder à la feuille de calcul
ID dans l'URL de la feuille de calcul. Vous pouvez obtenir
l'ID de la feuille de calcul à l'aide de l'élément
spreadsheets.get
. La
sont spécifiées au format A1. Une
exemple de plage est Feuille1!A1:D5.
Ajouter un dégradé de couleurs conditionnel sur une ligne
Les éléments suivants :
spreadsheets.batchUpdate
l'exemple de code de méthode montre comment utiliser
AddConditionalFormatRuleRequest
afin d'établir de nouvelles règles de mise en forme conditionnelle avec un dégradé pour les lignes 10 et 11 d'une
feuille. La première règle stipule que les cellules de cette ligne ont leur couleur d'arrière-plan
en fonction de leur valeur. La valeur la plus basse de la ligne
est en rouge foncé,
tandis que la valeur la plus élevée est en vert vif. La couleur des autres valeurs
est interpolée. La deuxième règle fait la même chose, mais avec des valeurs numériques spécifiques
déterminer les extrémités du dégradé (et les différentes couleurs). La requête utilise le paramètre
sheets.InterpolationPointType
comme type
.
Le protocole de requête est présenté ci-dessous.
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 } }, ] }
Une fois la requête envoyée, la règle de mise en forme appliquée met à jour la feuille. Puisque le dégradé
Le point maximal de la ligne 11 est défini sur 256
, toutes les valeurs supérieures à la valeur maximale
couleur:
Ajouter une règle de mise en forme conditionnelle à un ensemble de plages
Les éléments suivants :
spreadsheets.batchUpdate
l'exemple de code de méthode montre comment utiliser
AddConditionalFormatRuleRequest
pour établir une nouvelle règle de mise en forme conditionnelle pour les colonnes A et C d'une feuille.
La règle stipule que les cellules avec des valeurs de 10 ou moins ont leur arrière-plan
sont devenues rouge foncé. La règle est insérée à l'index 0.
sur les autres règles de mise en forme. La requête utilise le paramètre
ConditionType
comme type
pour
BooleanRule
Le protocole de requête est présenté ci-dessous.
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 } } ] }
Une fois la requête envoyée, la règle de mise en forme appliquée met à jour la feuille:
Ajouter des règles de mise en forme conditionnelle de date et de texte à une plage
Les éléments suivants :
spreadsheets.batchUpdate
l'exemple de code de méthode montre comment utiliser
AddConditionalFormatRuleRequest
pour établir de nouvelles règles de mise en forme conditionnelle pour la plage A1:D5 dans une feuille,
en fonction de la date et des valeurs
de texte dans ces cellules. Si le texte contient la chaîne
"Coût" (non sensible à la casse), la première règle met le texte de la cellule en gras. Si le
contient une date antérieure à la semaine précédente, la seconde règle définit le
le texte des cellules en italique
et le colore en bleu. La requête utilise le paramètre
ConditionType
comme type
pour
BooleanRule
Le protocole de requête est présenté ci-dessous.
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 } } ] }
Une fois la requête envoyée, la règle de mise en forme appliquée met à jour la feuille. Dans cet exemple, la date actuelle est le 26/09/2016:
Ajouter une règle de formule personnalisée à une plage
Les éléments suivants :
spreadsheets.batchUpdate
l'exemple de code de méthode montre comment utiliser
AddConditionalFormatRuleRequest
pour établir une nouvelle règle de mise en forme
conditionnelle pour la plage B5:B8 dans une feuille,
en fonction d'une formule personnalisée. La règle calcule le produit de la cellule dans
les colonnes A et B. Si le produit est supérieur à 120, le texte de la cellule est défini sur
gras et italique. La requête utilise le paramètre
ConditionType
comme type
pour
BooleanRule
Le protocole de requête est présenté ci-dessous.
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 } } ] }
Une fois la requête envoyée, la règle de mise en forme appliquée met à jour la feuille:
Supprimer une règle de mise en forme conditionnelle
Les éléments suivants :
spreadsheets.batchUpdate
l'exemple de code de méthode montre comment utiliser
DeleteConditionalFormatRuleRequest
pour supprimer la règle de mise en forme conditionnelle ayant l'index 0
dans la feuille spécifiée
par SHEET_ID.
Le protocole de requête est présenté ci-dessous.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "deleteConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0 } } ] }
Lire la liste des règles de mise en forme conditionnelle
Les éléments suivants :
Code de la méthode spreadsheets.get
montre comment obtenir le titre, SHEET_ID et la liste de tous
règles de mise en forme conditionnelle
pour chaque feuille d’une feuille de calcul. Requête fields
détermine les données à renvoyer.
Le protocole de requête est présenté ci-dessous.
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets(properties(title,sheetId),conditionalFormats)
La réponse se compose d'un
la ressource Spreadsheet
, qui
contient un tableau de
Sheet
objets ayant chacun
un
SheetProperties
et un tableau de
ConditionalFormatRule
éléments. Si un champ de réponse donné est défini sur la valeur par défaut, il est omis.
de la réponse. La requête utilise le paramètre
ConditionType
comme type
pour
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 } } } }, ... ] } ] }
Mettre à jour une règle de mise en forme conditionnelle ou sa priorité
Les éléments suivants :
spreadsheets.batchUpdate
l'exemple de code de méthode montre comment utiliser
UpdateConditionalFormatRuleRequest
avec plusieurs demandes. La première demande déplace un format conditionnel existant
vers un index plus élevé (de 0
à 2
, ce qui diminue sa priorité). Le deuxième
la requête remplace la règle de mise en forme conditionnelle à l'index 0
par une nouvelle règle
qui met en forme les cellules contenant le texte exact spécifié ("Coût total") dans le
A1:D5. Le déplacement de la première demande
est terminé avant le début de la seconde, donc
la deuxième requête remplace la règle qui se trouvait initialement à l'index 1
. La
utilise le paramètre
ConditionType
comme type
pour
BooleanRule
Le protocole de requête est présenté ci-dessous.
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 } } } } } } ] }