Les feuilles de calcul peuvent comporter plusieurs feuilles, chacune pouvant contenir un nombre illimité de lignes ou de colonnes. Une cellule est un emplacement à l'intersection d'une ligne et d'une colonne spécifiques. Elle peut contenir une valeur de données. L'API Google Sheets fournit la ressource spreadsheets.values
pour permettre la lecture et l'écriture de valeurs.
Cette page décrit les principes de base de l'utilisation de la ressource spreadsheets.values
. Si vous devez insérer des lignes ou mettre à jour la mise en forme et d'autres propriétés dans une feuille, vous devez utiliser la méthode spreadsheets.batchUpdate
décrite dans Mettre à jour des feuilles de calcul.
Méthodes
La ressource spreadsheets.values
fournit les méthodes suivantes pour lire et écrire des valeurs, chacune pour une tâche spécifique :
Accès à la plage | Lecture | Écriture |
---|---|---|
Plage unique | spreadsheets.values.get |
spreadsheets.values.update |
Plages multiples | spreadsheets.values.batchGet |
spreadsheets.values.batchUpdate |
Ajouts | spreadsheets.values.append |
En général, il est recommandé de combiner plusieurs lectures ou mises à jour avec les méthodes batchGet
et batchUpdate
(respectivement), car cela améliore l'efficacité.
Vous trouverez des exemples de chacune de ces méthodes sur les pages d'exemples Lecture de base et Écriture de base. Pour afficher tous les exemples, consultez la page de présentation des exemples.
Lecture
Pour lire les valeurs de données d'une feuille, vous avez besoin de l'ID de la feuille de calcul et de la notation A1 pour la plage. Si vous spécifiez la plage sans l'ID de la feuille (A1:B2
), la requête s'exécute sur la première feuille de la feuille de calcul. Pour en savoir plus sur les ID de feuilles de calcul et la notation A1, consultez la présentation de l'API Google Sheets.
Plusieurs paramètres de requête facultatifs contrôlent le format de la sortie :
Paramètre de format | Valeur par défaut |
---|---|
majorDimension |
ROWS |
valueRenderOption |
FORMATTED_VALUE |
dateTimeRenderOption |
SERIAL_NUMBER |
Notez que vous ne devez utiliser dateTimeRenderOption
que si valueRenderOption
n'est pas FORMATTED_VALUE
.
Il n'existe aucune limite explicite à la quantité de données renvoyées. Les erreurs ne renvoient aucune donnée. Les lignes et colonnes vides de fin sont omises.
Les méthodes de récupération unique et par lot sont décrites ci-dessous. Pour obtenir des exemples d'opérations de lecture de base, consultez Lecture de base.
Lire une seule plage
Pour lire une seule plage de valeurs dans une feuille de calcul, utilisez une requête spreadsheets.values.get
:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
La réponse à cette requête est renvoyée sous la forme d'un objet ValueRange
.
Lire plusieurs plages
Pour lire plusieurs plages de valeurs discontinues dans une feuille de calcul, utilisez une requête spreadsheets.values.batchGet
qui vous permet de spécifier plusieurs plages à récupérer :
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
La réponse à cette requête est renvoyée sous la forme d'un objet BatchGetValuesResponse
contenant l'spreadsheetId
et une liste d'objets ValueRange
.
Écriture
Pour écrire dans une feuille, vous avez besoin de l'ID de la feuille de calcul, de la plage de cellules en notation A1 et des données que vous souhaitez écrire dans un objet de corps de requête approprié. Pour en savoir plus sur les ID de feuilles de calcul et la notation A1, consultez la présentation de l'API Google Sheets.
Les mises à jour nécessitent un paramètre ValueInputOption
valide.
Pour les mises à jour uniques, il s'agit d'un paramètre de requête obligatoire. Pour les mises à jour par lot, ce paramètre est obligatoire dans le corps de la requête. ValueInputOption
contrôle la façon dont les données d'entrée doivent être interprétées et si les chaînes d'entrée sont analysées ou non, comme décrit dans le tableau suivant :
ValueInputOption |
Description |
---|---|
RAW |
L'entrée n'est pas analysée et est insérée en tant que chaîne. Par exemple, si vous saisissez "=1+2", la chaîne "=1+2" est placée dans la cellule, et non la formule. (Les valeurs non string, comme les valeurs booléennes ou les nombres, sont toujours traitées comme RAW .) |
USER_ENTERED |
L'entrée est analysée exactement comme si elle avait été saisie dans l'interface utilisateur de Sheets. Par exemple, "1er mars 2016" devient une date et "=1+2" devient une formule. Les formats peuvent également être déduits.Par exemple, "100,15 $" devient un nombre avec une mise en forme de devise. |
Les méthodes de mise à jour unique et par lot sont décrites ci-dessous. Pour obtenir des exemples d'opérations d'écriture de base, consultez Écriture de base.
Écrire dans une seule plage
Pour écrire des données dans une seule plage, utilisez une requête spreadsheets.values.update
:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
Le corps de la requête de mise à jour doit être un objet ValueRange
, mais le seul champ obligatoire est values
. Si range
est spécifié, il doit correspondre à la plage de l'URL. Dans ValueRange
, vous pouvez éventuellement spécifier son majorDimension
.
Par défaut, ROWS
est utilisé. Si COLUMNS
est spécifié, chaque tableau interne est écrit dans une colonne au lieu d'une ligne.
Lors de la mise à jour, les valeurs sans données sont ignorées. Pour effacer des données, utilisez une chaîne vide ("").
Écrire plusieurs plages
Si vous souhaitez écrire plusieurs plages discontinues, vous pouvez utiliser une requête spreadsheets.values.batchUpdate
:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
Le corps de la requête de mise à jour par lot doit être un objet BatchUpdateValuesRequest
, qui contient un ValueInputOption
et une liste d'objets ValueRange
(un pour chaque plage écrite). Chaque objet ValueRange
spécifie ses propres range
, majorDimension
et données d'entrée.
Ajouter des valeurs
Pour ajouter des données à la fin d'une table de données dans une feuille, utilisez une requête spreadsheets.values.append
:
Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
Le corps de la requête de mise à jour doit être un objet ValueRange
, mais le seul champ obligatoire est values
. Si range
est spécifié, il doit correspondre à la plage de l'URL. Dans ValueRange
, vous pouvez éventuellement spécifier son majorDimension
.
Par défaut, ROWS
est utilisé. Si COLUMNS
est spécifié, chaque tableau interne est écrit dans une colonne au lieu d'une ligne.
La plage d'entrée permet de rechercher des données existantes et de trouver un "tableau" dans cette plage. Les valeurs sont ajoutées à la ligne suivante du tableau, en commençant par la première colonne. Par exemple, prenons Sheet1
qui ressemble à ceci :
A | B | C | D | E | |
1 | x | y | z | ||
2 | x | y | z | ||
3 | |||||
4 | x | y | |||
5 | y | z | |||
6 | x | y | z | ||
7 |
La feuille de calcul contient deux tables : A1:C2
et B4:D6
. Les valeurs ajoutées commenceraient à B7
pour toutes les entrées range
suivantes :
Sheet1
, car il examinera toutes les données de la feuille et déterminera que le tableau àB4:D6
est le dernier.B4
ouC5:D5
, car ils se trouvent tous les deux dans la tableB4:D6
.B2:D4
, car la dernière table de la plage est la tableB4:D6
(même si elle contient également la tableA1:C2
).A3:G10
, car la dernière table de la plage est la tableB4:D6
(même si elle commence avant et se termine après).
Les entrées range
suivantes ne commenceraient pas à écrire à B7
:
A1
commencerait à écrire àA3
, car cette valeur se trouve dans le tableauA1:C2
.E4
commencerait à écrire àE4
, car il n'est dans aucune table. (A4
commencerait également à écrire àA4
pour les mêmes raisons.)
Vous pouvez également choisir d'écraser les données existantes après une table ou d'insérer de nouvelles lignes pour les nouvelles données. Par défaut, l'entrée écrase les données après le tableau. Pour écrire les nouvelles données dans de nouvelles lignes, utilisez InsertDataOption
et spécifiez insertDataOption=INSERT_ROWS
.
Pour en savoir plus sur les limites de cellules et de lignes dans Sheets, consultez Fichiers pouvant être stockés dans Google Drive.