Les feuilles de calcul peuvent comporter plusieurs feuilles, chacune pouvant contenir un nombre illimité de lignes ou de colonnes. Une cellule est un emplacement situé à 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 le format 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 |
Plusieurs plages | 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.
Lire
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. Spécifier la plage sans l'ID de la feuille (A1:B2
) signifie que 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
.
La quantité de données renvoyées n'est pas limitée explicitement. Les erreurs ne renvoient aucune donnée. Les lignes et colonnes vides de fin sont omises.
Les méthodes d'extraction unique et groupée sont décrites ci-dessous. Pour obtenir des exemples d'opérations de lecture de base, consultez la section Lecture de base.
Lire une seule plage
Pour lire une seule plage de valeurs à partir d'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 feuille 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 sous forme de chaîne. Par exemple, la saisie "=1+2" place la chaîne "=1+2" dans la cellule, et non la formule. (Les valeurs autres que des chaînes, comme les valeurs booléennes ou numériques, sont toujours gérées en tant que 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 inférés.Ainsi, "100,15 $" devient un nombre au format devise. |
Les méthodes de mise à jour unique et groupée sont décrites ci-dessous. Pour obtenir des exemples d'opérations d'écriture de base, consultez la section É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 les 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 son propre range
, majorDimension
et données d'entrée.
Ajouter des valeurs
Pour ajouter des données après 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 une "table" dans cette plage. Les valeurs sont ajoutées à la ligne suivante de la table, en commençant par la première colonne de la table. Prenons l'exemple de Sheet1
, qui se présente comme suit:
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 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 la table située àB4:D6
est la dernière.B4
ouC5:D5
, car ils figurent tous les deux dans la tableB4:D6
.B2:D4
, car la dernière table de la plage est la tableB4:D6
(bien qu'elle contienne également la tableA1:C2
).A3:G10
, car la dernière table de la plage est la tableB4:D6
(bien qu'elle commence avant et se termine après).
Les entrées range
suivantes ne commenceraient pas à écrire à B7
:
A1
commencerait à écrire àA3
, car il s'agit de la tableA1:C2
.E4
commencerait à écrire àE4
, car il ne figure 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 remplace 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.