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 travaillant avec l'interface utilisateur Sheets sont également disponibles avec l'API Sheets. Les exemples de cette page montrent comment effectuer certaines opérations courantes de feuille de calcul avec l'API Sheets.

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érentes langues à l'aide des bibliothèques clientes de l'API Google, consultez Modifier 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 à l'aide de la méthode spreadsheets.get. Les plages sont spécifiées à l'aide de la notation A1. Par exemple, 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 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 coller uniquement le formatage 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 des 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, formules, mises en forme et fusions 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 dans 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 augmente 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"
          }
        ]
      }
    }
  ]
}