L'API Google Sheets vous permet de mettre à jour la mise en forme des cellules et des plages dans les feuilles de calcul. Les exemples de cette page illustrent comment certaines opérations de mise en forme courantes peuvent être effectuées avec l'API Sheets. Vous trouverez d'autres exemples de mise en forme conditionnelle sur la page de la recette Mise en forme conditionnelle.
Lors de la mise à jour d'une feuille de calcul, certains types de requêtes peuvent renvoyer des réponses.
Elles sont renvoyées dans un tableau, chaque réponse occupant le même index que la requête correspondante. Certaines requêtes n'ont pas de réponse. Dans ce cas, la réponse est vide. La structure des réponses pour ces exemples est disponible sous spreadsheets.batchUpdate
.
Ces exemples sont présentés sous la forme de requêtes HTTP pour être neutres en ce qui concerne le langage. Pour découvrir comment implémenter une mise à jour groupée dans différents langages à l'aide des bibliothèques clientes de l'API Google, consultez Mettre à jour des feuilles de calcul.
Dans ces exemples, les espaces réservés SPREADSHEET_ID et SHEET_ID indiquent où vous devez fournir ces ID. L'ID de la feuille de calcul se trouve dans son URL. Vous pouvez obtenir l'ID de la feuille à l'aide de la méthode spreadsheets.get
. Ces plages sont spécifiées au format A1. Exemple de plage : Feuille1!A1:D5.
Dans la vidéo ci-dessus, vous allez apprendre à mettre en forme les cellules d'une feuille de calcul de différentes manières, y compris en créant des lignes figées, en mettant des cellules en gras, en implémentant la mise en forme de devise, en effectuant la validation des cellules et en limitant les valeurs des cellules.
Modifier les bordures des cellules
L'exemple de code spreadsheets.batchUpdate
suivant montre comment utiliser UpdateBordersRequest
pour attribuer à chaque cellule de la plage A1:F10 une bordure bleue en pointillés (haut et bas). Le champ innerHorizontal
crée des bordures horizontales à l'intérieur de la plage.
Si vous ne renseignez pas ce champ, les bordures ne seront ajoutées qu'en haut et en bas de toute la plage.
Le protocole de requête est illustré ci-dessous.
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 }, }, } } ] }
Mettre en forme une ligne d'en-tête
L'exemple de code spreadsheets.batchUpdate
suivant montre comment utiliser RepeatCellRequest
pour mettre en forme une ligne d'en-tête dans une feuille. La première requête met à jour la couleur du texte, la couleur de l'arrière-plan, la taille de police du texte et la justification du texte, puis met le texte en gras. Si vous ne renseignez pas les index de colonne dans le champ range
, la ligne entière sera mise en forme. La deuxième requête ajuste les propriétés de la feuille pour que la ligne d'en-tête soit figée.
Le protocole de requête est illustré ci-dessous.
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" } } ] }
Fusionner les cellules
L'exemple de code spreadsheets.batchUpdate
suivant montre comment utiliser MergeCellsRequest
pour fusionner des cellules. La première requête fusionne la plage A1:B2 en une seule cellule. La deuxième requête fusionne les colonnes dans A3:B6, tout en laissant les lignes séparées.
Le protocole de requête est illustré ci-dessous.
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" } }, ] }
Définir un format décimal ou une date/heure personnalisée pour une plage
L'exemple de code spreadsheets.batchUpdate
suivant montre comment utiliser RepeatCellRequest
pour mettre à jour des cellules afin de leur attribuer des formats de date et d'heure et de nombres personnalisés. La première requête donne aux cellules de la plage A1:A10 le format de date et heure personnalisé hh:mm:ss am/pm,
ddd mmm dd yyyy
. Voici un exemple de date et d'heure au format suivant: "02:05:07 PM, Sun Apr
03 2016".
La deuxième requête attribue aux cellules B1:B10 le format de nombre personnalisé #,##0.0000
, ce qui indique que les nombres doivent être regroupés avec des séparateurs de virgules, qu'il doit y avoir quatre chiffres après la virgule et que tous les zéros à l'exception d'un doivent être supprimés. Par exemple, le nombre "3.14" s'affiche sous la forme "3.1400", tandis que "12345.12345" s'affiche sous la forme "12,345.1235".
Le protocole de requête est illustré ci-dessous.
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" } } ] }