Opérations de données

L'API Google Sheets vous permet de manipuler les données dans des feuilles de calcul de différentes manières. La plupart des fonctionnalités disponibles pour les utilisateurs de l'interface utilisateur Sheets peuvent également être réalisées avec l'API Sheets. Les exemples de cette page illustrent comment réaliser certaines opérations courantes sur les feuilles de calcul avec l'API Sheets.

Ces exemples sont présentés sous la forme de requêtes HTTP afin de ne pas tenir compte du langage. Pour découvrir comment implémenter une mise à jour par lot dans différents langages à l'aide des bibliothèques clientes des 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 l'URL de la feuille de calcul. Vous pouvez obtenir l'ID de la feuille à l'aide de la méthode spreadsheets.get. Les plages sont spécifiées au format A1. Exemple de plage : Sheet1!A1:D5.

Appliquer la validation des données à une plage

L'exemple de code spreadsheets.batchUpdate suivant montre comment utiliser SetDataValidationRequest pour appliquer une règle de validation des données, où "valeur > 5", à chaque cellule de la plage A1:D10.

Le protocole de requête est présenté ci-dessous.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "setDataValidation": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 4
        },
        "rule": {
          "condition": {
            "type": "NUMBER_GREATER",
            "values": [
              {
                "userEnteredValue": "5"
              }
            ]
          },
          "inputMessage": "Value must be > 5",
          "strict": true
        }
      }
    }
  ]
}

Copier et coller la mise en forme des cellules

L'exemple de code spreadsheets.batchUpdate suivant montre comment utiliser CopyPasteRequest pour copier la mise en forme uniquement dans la plage A1:D10 et la coller dans la plage F1:I10 de la même feuille. La méthode utilise l'énumération PasteType avec PASTE_FORMAT pour ne coller que la mise en forme et la validation des données. Les valeurs d'origine dans A1:D10 restent inchangées.

Le protocole de requête est présenté ci-dessous.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "copyPaste": {
        "source": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 4
        },
        "destination": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 5,
          "endColumnIndex": 9
        },
        "pasteType": "PASTE_FORMAT",
        "pasteOrientation": "NORMAL"
      }
    }
  ]
}

Couper et coller les cellules

L'exemple de code spreadsheets.batchUpdate suivant montre comment utiliser CutPasteRequest. Il coupe la plage A1:D10 et utilise l'énumération PasteType avec PASTE_NORMAL pour coller ses valeurs, ses formules et sa mise en forme, puis les fusionne dans la plage F1:I10 de la même feuille. Le contenu des cellules de la plage source d'origine est supprimé.

Le protocole de requête est présenté ci-dessous.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "cutPaste": {
        "source": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 4
        },
        "destination": {
          "sheetId": SHEET_ID,
          "rowIndex": 0,
          "columnIndex": 5
        },
        "pasteType": "PASTE_NORMAL"
      }
    }
  ]
}

Répéter une formule sur une plage

L'exemple de code spreadsheets.batchUpdate suivant montre comment utiliser RepeatCellRequest pour copier la formule =FLOOR(A1*PI()) dans la plage B1:D10. La plage de la formule s'incrémente automatiquement pour chaque ligne et colonne de la plage, en commençant par la cellule en haut à gauche. Par exemple, la cellule B1 contient la formule =FLOOR(A1*PI()), tandis que la cellule D6 contient la formule =FLOOR(C6*PI()).

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": 1,
          "endColumnIndex": 4
        },
        "cell": {
          "userEnteredValue": {
              "formulaValue": "=FLOOR(A1*PI())"
          }
        },
        "fields": "userEnteredValue"
      }
    }
  ]
}

Trier une plage avec plusieurs spécifications de tri

L'exemple de code spreadsheets.batchUpdate suivant montre comment utiliser SortRangeRequest pour trier la plage A1:D10, d'abord par la colonne B dans l'ordre croissant, puis par la colonne C dans l'ordre décroissant, puis par la colonne D dans l'ordre décroissant.

Le protocole de requête est présenté ci-dessous.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "sortRange": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 4
        },
        "sortSpecs": [
          {
            "dimensionIndex": 1,
            "sortOrder": "ASCENDING"
          },
          {
            "dimensionIndex": 2,
            "sortOrder": "DESCENDING"
          },
          {
            "dimensionIndex": 3,
            "sortOrder": "DESCENDING"
          }
        ]
      }
    }
  ]
}