Mise en forme de base

L'API Google Sheets vous permet de mettre à jour la mise en forme des cellules et des plages au sein des feuilles de calcul. Les exemples de cette page illustrent les opérations de mise en forme peuvent être effectuées avec l'API Sheets. Vous pouvez vous trouverez d'autres exemples de mise en forme conditionnelle dans la section mise en forme.

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 et, pour celles-ci, est vide. Vous trouverez la structure de réponse pour ces exemples sous spreadsheets.batchUpdate

Ces exemples sont présentés sous la forme de requêtes HTTP et neutres. Pour découvrir comment implémenter une mise à jour par lot dans différents langages à l'aide de les bibliothèques clientes de l'API Google, 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.

Dans la vidéo ci-dessus, vous apprendrez à mettre en forme les cellules d’une feuille de calcul de différentes manières, création de lignes figées, mise en gras des cellules, implémentation de la devise, etc. la mise en forme, la validation des cellules et la restriction des valeurs des cellules.

Modifier les bordures des cellules

Les éléments suivants : spreadsheets.batchUpdate exemple de code montre comment utiliser UpdateBordersRequest pour attribuer à chaque cellule de la plage A1:F10 une bordure bleue en pointillée supérieure et inférieure. La Le champ innerHorizontal crée des bordures horizontales à l'intérieur de la plage. Si vous omettez ce champ, les bordures ne seront ajoutées qu'en haut et en bas de toute la plage.

Tableau 3 par 3, chaque cellule présente une bordure bleue en pointillée supérieure et inférieure.
Figure 1. Mettez en forme chaque cellule avec une bordure bleue en pointillée supérieure et inférieure dans une feuille.

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

Les éléments suivants : spreadsheets.batchUpdate exemple de code 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 police du texte et la justification du texte. gras. Si vous ne renseignez pas les index de colonne dans le champ range, l'intégralité ligne à mettre en forme. La deuxième demande ajuste les propriétés de la feuille afin que ligne d'en-tête est figée.

Tableau 3 par 3 avec une ligne d'en-tête mise en forme dans une feuille.
Figure 2. Mettez en forme la ligne d'en-tête d'une feuille.

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 les cellules

Les éléments suivants : spreadsheets.batchUpdate exemple de code montre comment utiliser MergeCellsRequest pour fusionner des cellules. La première requête fusionne la plage A1:B2 en une seule cellule. La la deuxième requête fusionne les colonnes dans A3:B6, tout en laissant les lignes séparées.

Tableau 3 par 3 avec des cellules fusionnées dans une feuille.
Figure 3. Fusionnez les cellules d'une feuille.

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 d'heure personnalisé ou décimal pour une plage

Les éléments suivants : spreadsheets.batchUpdate exemple de code montre comment utiliser RepeatCellRequest pour mettre à jour les cellules de sorte qu'elles aient des formats de date et d'heure personnalisés et des formats numériques. La première demande attribue aux cellules de la plage A1:A10 le format de date et d'heure personnalisé hh:mm:ss am/pm, ddd mmm dd yyyy. Exemple de date et d'heure au format suivant : "02:05:07 PM, Dim avril 03 2016".

La deuxième requête donne aux cellules de B1:B10 le format de nombre personnalisé #,##0.0000, qui indique que les nombres doivent être regroupés par une virgule séparateurs, qu'il doit y avoir 4 chiffres après la virgule, et que tous les un zéro initial doit être supprimé. Par exemple, le nombre "3,14" s'affiche. par "3.1400", alors que "12345.12345" s'affiche sous la forme "12,345.1235".

Tableau 3 par 3 avec des formats de date et d'heure personnalisés et des formats numériques dans une feuille.
Figure 4. Mettez à jour les cellules de votre feuille afin qu'elles comportent des formats de date et d'heure personnalisés et des formats numériques.

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"
      }
    }
  ]
}