L'API Google Sheets vous permet d'écrire des valeurs et des formules dans des cellules, des plages,
des ensembles de plages
et des feuilles entières. Les exemples de cette page illustrent
les opérations d'écriture courantes
spreadsheets.values
ressource de l'API Sheets.
Notez qu'il est également possible d'écrire des valeurs de cellule à l'aide de la méthode
spreadsheet.batchUpdate
, ce qui peut être utile si vous souhaitez mettre à jour simultanément la mise en forme des cellules
ou d'autres propriétés
spreadsheets.values
ressource n'affecte pas. Par exemple, si vous souhaitez copier
une plage de cellules à partir de
d'une feuille à une autre tout en écrasant à la fois la formule de la cellule et la cellule
vous pouvez utiliser
UpdateCellsRequest
à l'aide d'un
spreadsheet.batchUpdate
Toutefois, pour les écritures de valeurs simples, il est plus facile d'utiliser
spreadsheets.values.update
ou la
spreadsheets.values.batchUpdate
.
Ces exemples sont présentés sous la forme de requêtes HTTP et neutres. Pour apprendre à implémenter des écritures dans différents langages à l'aide de les bibliothèques clientes de l'API Google, consultez l'article Lire et écrire la cellule valeurs.
Dans ces exemples, l'espace réservé SPREADSHEET_ID
indique
où vous devez fournir la feuille de calcul
ID, qu'il peut trouver sur la page
URL de la feuille de calcul. Les plages dans lesquelles écrire les données sont spécifiées à l'aide de A1
du lecteur d'écran. Exemple de plage : Sheet1!A1:D5.
Écrire une seule plage
En commençant par une nouvelle feuille de calcul vierge, les éléments suivants
spreadsheets.values.update
exemple montre comment écrire les valeurs dans une plage. La
Requête ValueInputOption
est requis et détermine si les valeurs écrites sont analysées (par
(par exemple, si une chaîne est convertie ou non en date).
Le corps de la requête est
ValueRange
qui décrit les valeurs de plage à écrire. La
Champ majorDimension
indique que les tableaux sont des listes de valeurs organisées par lignes. Valeurs existantes
de la plage cible sont écrasés.
Le protocole de requête est présenté ci-dessous.
PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
/values/Sheet1!A1:D5?valueInputOption=VALUE_INPUT_OPTION
{ "range": "Sheet1!A1:D5", "majorDimension": "ROWS", "values": [ ["Item", "Cost", "Stocked", "Ship Date"], ["Wheel", "$20.50", "4", "3/1/2016"], ["Door", "$15", "2", "3/15/2016"], ["Engine", "$100", "1", "3/20/2016"], ["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"] ], }
La réponse se compose d'un
UpdateValuesResponse
comme celui-ci:
{
"spreadsheetId": SPREADSHEET_ID
,
"updatedRange": "Sheet1!A1:D5",
"updatedRows": 5,
"updatedColumns": 4,
"updatedCells": 20,
}
La feuille obtenue se présente comme suit:
A | B | C | D | |
1 | Élément | Coût | En stock | Date d'expédition |
2 | Roue | 20,50 $ | 4 | 01/03/2016 |
3 | Porte | 15 $ | 2 | 15/03/2016 |
4 | Moteur | 100 $ | 1 | 20/03/2016 |
5 | Totaux | 135,5 $ | 7 | 20/03/2016 |
Écrire de manière sélective dans une plage
Lors de l'écriture de valeurs dans une plage, il est possible d'éviter de modifier certaines
cellules en définissant les éléments de tableau correspondants sur null
. Il est également possible
pour effacer une cellule en y écrivant une chaîne vide (""
).
Commençons par une feuille contenant les mêmes données produites par la requête ci-dessus
exemple, comme suit :
spreadsheets.values.update
exemple de code montre comment écrire les valeurs dans la plage B1:D4, de manière sélective
en laissant certaines cellules inchangées
et en effaçant d'autres. La
Requête ValueInputOption
est requis et détermine si les valeurs écrites sont analysées (par
(par exemple, si une chaîne est convertie ou non en date).
Le corps de la requête est
ValueRange
qui décrit les valeurs de plage à écrire. La
Champ majorDimension
indique que les tableaux sont des listes de valeurs organisées par colonne.
Le protocole de requête est présenté ci-dessous.
PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
/values/Sheet1!B1?valueInputOption=VALUE_INPUT_OPTION
{ "range": "Sheet1!B1", "majorDimension": "COLUMNS", "values": [ [null,"$1","$2", ""], [], [null,"4/1/2016", "4/15/2016", ""] ] }
Le champ values
ici répertorie les modifications apportées à chaque colonne de la plage. La
premier tableau indique que B1 ne doit pas être modifié (en raison de la présence du tableau null
), tandis que B4 doit être effacé (chaîne vide). B2 et B3 ont leurs valeurs
mis à jour. Le troisième tableau effectue les mêmes opérations sur la colonne D, tandis que le
un deuxième tableau vide indique que la colonne C doit rester inchangée.
La réponse se compose d'un
UpdateValuesResponse
comme celui-ci:
{
"spreadsheetId": SPREADSHEET_ID
,
"updatedRange": "Sheet1!B1:D5",
"updatedRows": 3,
"updatedColumns": 2,
"updatedCells": 6,
}
La feuille obtenue se présente comme suit:
A | B | C | D | |
1 | Élément | Coût | En stock | Date d'expédition |
2 | Roue | 1,00 $ | 4 | 01/04/2016 |
3 | Porte | 2 € | 2 | 15/04/2016 |
4 | Moteur | 1 | ||
5 | Totaux | 3 $ | 7 | 15/04/2016 |
Notez que les "Totaux" , bien qu'elle ne soit pas directement modifiée par cette requête, changer parce que ses cellules contiennent des formules qui dépendent des cellules modifiées.
Écrire dans plusieurs plages
En commençant par une feuille vierge, les éléments suivants
spreadsheets.values.batchUpdate
exemple de code montre comment écrire les valeurs dans les plages Sheet1!A1:A4 et
Feuille1!B1:D2. Les valeurs existantes de la plage cible sont remplacées. La demande
se compose d'un
Un objet ValueInputOption
qui
montre comment interpréter les données d'entrée et un tableau
ValueRange
objets correspondant à chaque plage écrite. La
Champ majorDimension
détermine si les tableaux inclus sont interprétés comme des tableaux de colonnes ou de lignes.
Le protocole de requête est présenté ci-dessous.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
/values:batchUpdate
{ "valueInputOption": "VALUE_INPUT_OPTION", "data": [ { "range": "Sheet1!A1:A4", "majorDimension": "COLUMNS", "values": [ ["Item", "Wheel", "Door", "Engine"] ] }, { "range": "Sheet1!B1:D2", "majorDimension": "ROWS", "values": [ ["Cost", "Stocked", "Ship Date"], ["$20.50", "4", "3/1/2016"] ] } ] }
La réponse est constituée d'un objet qui répertorie les statistiques de cellule mises à jour.
et un tableau de
UpdateValuesResponse
, un pour chaque plage mise à jour. Exemple :
{ "spreadsheetId":SPREADSHEET_ID
, "totalUpdatedRows": 4, "totalUpdatedColumns": 4, "totalUpdatedCells": 10, "totalUpdatedSheets": 1, "responses": [ { "spreadsheetId":SPREADSHEET_ID
, "updatedRange": "Sheet1!A1:A4", "updatedRows": 4, "updatedColumns": 1, "updatedCells": 4, }, { "spreadsheetId":SPREADSHEET_ID
, "updatedRange": "Sheet1!B1:D2", "updatedRows": 2, "updatedColumns": 3, "updatedCells": 6, } ], }
La feuille obtenue se présente comme suit:
A | B | C | D | |
1 | Élément | Coût | En stock | Date d'expédition |
2 | Roue | 20,50 $ | 4 | 01/03/2016 |
3 | Porte | |||
4 | Moteur | |||
5 |
Écrire des valeurs sans analyse
En commençant par une
feuille vierge, les éléments suivants
spreadsheets.values.update
exemple de code montre comment écrire les valeurs dans la plage Sheet1!A1:E1, mais utilise
la RAW
ValueInputOption
pour empêcher l'analyse des chaînes écrites comme des formules.
des valeurs booléennes ou des nombres. Elles apparaissent sous forme de chaînes et l'alignement du texte est justifié
dans la feuille.
Le corps de la requête est
ValueRange
qui décrit les valeurs de plage à écrire. La
Champ majorDimension
indique que les tableaux sont des listes de valeurs organisées par lignes. Valeurs existantes
de la plage cible sont écrasés.
Le protocole de requête est présenté ci-dessous.
PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
/values/Sheet1!A1:E1?valueInputOption=RAW
{ "range": "Sheet1!A1:E1", "majorDimension": "ROWS", "values": [ ["Data", 123.45, true, "=MAX(D2:D4)", "10"] ], }
La réponse se compose d'un
UpdateValuesResponse
comme celui-ci:
{
"spreadsheetId": SPREADSHEET_ID
,
"updatedRange": "Sheet1!A1:E1",
"updatedRows": 1,
"updatedColumns": 5,
"updatedCells": 5,
}
La feuille obtenue se présente comme suit:
A | B | C | D | E | |
1 | Données | 123,45 | TRUE | =MAX(D2:D4) | 10 |
2 |
Notez que "TRUE" est centrée et est une valeur booléenne, alors que "123.45" est correct justifié parce qu'il s'agit d'un nombre, et que « 10 » est justifiée, car il s'agit . La formule n'est pas analysée et apparaît également sous forme de chaîne.
Ajouter des valeurs
Commencez avec une feuille semblable au tableau ci-dessous:
A | B | C | D | |
1 | Élément | Coût | En stock | Date d'expédition |
2 | Roue | 20,50 $ | 4 | 01/03/2016 |
3 |
Les éléments suivants :
spreadsheets.values.append
l'exemple de code montre comment ajouter deux lignes de valeurs en commençant par la ligne 3. La
Requête ValueInputOption
est requis et détermine si les valeurs écrites sont analysées (par
(par exemple, si une chaîne est convertie ou non en date).
Le corps de la requête est
ValueRange
qui décrit les valeurs de plage à écrire. La
Champ majorDimension
indique que les tableaux sont des listes de valeurs organisées par lignes.
Le protocole de requête est présenté ci-dessous.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
/values/Sheet1!A1:E1:append?valueInputOption=VALUE_INPUT_OPTION
{ "range": "Sheet1!A1:E1", "majorDimension": "ROWS", "values": [ ["Door", "$15", "2", "3/15/2016"], ["Engine", "$100", "1", "3/20/2016"], ], }
La réponse se compose d'un
AppendValuesResponse
comme celui-ci:
{ "spreadsheetId":SPREADSHEET_ID
, "tableRange": "Sheet1!A1:D2", "updates": { "spreadsheetId":SPREADSHEET_ID
, "updatedRange": "Sheet1!A3:D4", "updatedRows": 2, "updatedColumns": 4, "updatedCells": 8, } }
La feuille obtenue se présente comme suit:
A | B | C | D | |
1 | Élément | Coût | En stock | Date d'expédition |
2 | Roue | 20,50 $ | 4 | 01/03/2016 |
3 | Porte | 15 $ | 2 | 15/03/2016 |
4 | Moteur | 100 $ | 1 | 20/03/2016 |
5 |