Vous pouvez mettre à jour la mise en forme des cellules et des plages dans les feuilles de calcul à l'aide de l'API Google Sheets. Les exemples de cette page illustrent comment effectuer certaines opérations de mise en forme courantes avec l'API Sheets. Vous trouverez d'autres exemples de mise en forme conditionnelle sur la page de recettes Mise en forme conditionnelle.
Lorsque vous mettez à jour 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 de réponse de ces exemples est disponible sous spreadsheets.batchUpdate
.
Ces exemples sont présentés sous la forme de requêtes HTTP pour être neutres en termes de langue. Pour découvrir comment implémenter une mise à jour par lot 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. Vous trouverez l'identifiant de la feuille de calcul dans l'URL de la feuille de calcul.
Vous pouvez obtenir l'ID de la feuille de calcul à l'aide de la méthode spreadsheets.get
. Les plages sont spécifiées à l'aide de la notation A1. Par exemple, la plage Feuille1!A1:D5.
Dans la vidéo ci-dessus, vous apprendrez à 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 appliquant une mise en forme monétaire, en validant 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 supérieure et inférieure bleue en pointillés. Le champ innerHorizontal
crée des bordures horizontales à l'intérieur de la plage.
Si vous omettez ce champ, des bordures ne seront ajoutées qu'en haut et en bas de la plage entière.
Le protocole de requête est présenté 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 d'arrière-plan, la taille de la police, la justification du texte et met le texte en gras. Si vous omettez les index de colonne dans le champ range
, toute la ligne 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 présenté 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 des 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 A3:B6, tout en laissant les lignes séparées.
Le protocole de requête est présenté 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 de date et heure ou décimal personnalisé pour une plage
L'exemple de code spreadsheets.batchUpdate
suivant montre comment utiliser RepeatCellRequest
pour mettre à jour les cellules afin qu'elles aient des formats de date et d'heure et de nombre personnalisés. La première requête attribue le format date/heure personnalisé hh:mm:ss am/pm,
ddd mmm dd yyyy
aux cellules de la plage A1:A10. Voici un exemple de date et heure dans ce format : "02:05:07 PM, Sun Apr
03 2016".
La deuxième requête attribue aux cellules B1:B10 le format numérique personnalisé #,##0.0000
, qui indique que les nombres doivent être regroupés avec des séparateurs de virgule, qu'il doit y avoir quatre chiffres après la virgule et que tous les zéros non significatifs doivent être supprimés, sauf un. Par exemple, le nombre "3.14" est affiché sous la forme "3.1400", tandis que "12345.12345" est affiché sous la forme "12,345.1235".
Pour en savoir plus, consultez Formats de date et de nombre.
Le protocole de requête est présenté 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" } } ] }