Opérations de données

L'API Google Sheets vous permet de manipuler les données dans les feuilles de calcul de différentes manières. La plupart des fonctionnalités disponibles pour les utilisateurs de l'UI Sheets le sont également avec l'API Sheets. Les exemples de cette page montrent comment effectuer certaines opérations de feuille de calcul courantes avec l'API Sheets.

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.

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 illustré 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 coller uniquement 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 illustré 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 des cellules

L'exemple de code spreadsheets.batchUpdate suivant montre comment utiliser CutPasteRequest. Elle coupe la plage A1:D10 et utilise l'énumération PasteType avec PASTE_NORMAL pour coller ses valeurs, formules et mises en forme, et les fusionner 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 illustré 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 est automatiquement incrémentée pour chaque ligne et colonne de la plage, en commençant par la cellule en haut à gauche. Par exemple, la cellule B1 a la formule =FLOOR(A1*PI()), tandis que la cellule D6 a la formule =FLOOR(C6*PI()).

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": 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 illustré 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"
          }
        ]
      }
    }
  ]
}