Opérations de données

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

Ces exemples sont présentés sous forme de requêtes HTTP pour être indépendants du langage. Pour découvrir comment implémenter une mise à jour par lot dans différents langages à l'aide de s 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'ID de la feuille de calcul dans l'URL de la feuille de calcul. Vous pouvez obtenir l'ID de la feuille à l'aide de la spreadsheets.get méthode. Les plages sont spécifiées à l'aide de la notation A1. Par exemple, Sheet1!A1:D5.

Appliquer la validation des données à une plage

L'exemple de code spreadsheets.batchUpdate suivant montre comment utiliser le SetDataValidationRequest pour appliquer une règle de validation des données, où "value > 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' PasteType énumération avec PASTE_FORMAT pour coller la mise en forme, à l'exclusion de 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 des cellules

L'exemple de spreadsheets.batchUpdate code suivant montre comment utiliser CutPasteRequest. Il coupe la plage A1:D10 et utilise l' PasteType énumération avec PASTE_NORMAL pour coller ses valeurs, ses formules, sa mise en forme et ses fusions dans la plage F1:I10 de la même feuille. Le contenu d'origine de la plage source 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 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 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 les SortRangeRequest pour trier la plage A1:D10, d'abord par la colonne B par ordre croissant, puis par la colonne C par ordre décroissant, puis par la colonne D par 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"
          }
        ]
      }
    }
  ]
}