L'API Fogli Google ti consente di scrivere valori e formule in celle, intervalli,
insiemi di intervalli e interi fogli. Gli esempi in questa pagina spiegano come alcuni
le operazioni di scrittura più comuni possono essere ottenute
spreadsheets.values
risorsa dell'API Fogli.
Tieni presente che è anche possibile scrivere valori di cella utilizzando
spreadsheet.batchUpdate
, che può essere utile se vuoi aggiornare contemporaneamente la formattazione della cella
o altre proprietà
spreadsheets.values
non è interessato da questa risorsa. Ad esempio, se vuoi copiare un intervallo di celle da
da un foglio all'altro sovrascrivendo sia la formula della cella che la cella
la formattazione, puoi utilizzare
UpdateCellsRequest
con un
spreadsheet.batchUpdate
.
Tuttavia, per le scritture di valori semplici, è più facile utilizzare
spreadsheets.values.update
o il metodo
spreadsheets.values.batchUpdate
.
Questi esempi sono presentati sotto forma di richieste HTTP per neutri. Per imparare a implementare le scritture in lingue diverse utilizzando le librerie client delle API di Google, consulta Read & scrivi cella personalizzati.
In questi esempi, il segnaposto SPREADSHEET_ID
indica
in cui forniresti il foglio di lavoro
ID, che può essere rilevato dalla
URL del foglio di lavoro. Gli intervalli in cui scrivere vengono specificati utilizzando A1
notazione. Un intervallo di esempio è Foglio1!A1:D5.
Scrivere un singolo intervallo
Iniziando da un nuovo foglio di lavoro vuoto, come
spreadsheets.values.update
l'esempio di codice mostra come scrivere i valori in un intervallo. La
ValueInputOption
query
è obbligatorio e determina se i valori scritti vengono analizzati (ad
ad esempio se una stringa viene convertita o meno in una data).
Il corpo della richiesta è un
ValueRange
che descrive i valori dell'intervallo da scrivere. La
Campo majorDimension
indica che le matrici sono elenchi di valori organizzati per righe. Valori esistenti
nell'intervallo target vengono sovrascritte.
Il protocollo di richiesta è mostrato di seguito.
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 risposta è composta da un
UpdateValuesResponse
come questo:
{
"spreadsheetId": SPREADSHEET_ID
,
"updatedRange": "Sheet1!A1:D5",
"updatedRows": 5,
"updatedColumns": 4,
"updatedCells": 20,
}
Il foglio risultante ha il seguente aspetto:
A | B | C | D | |
1 | Elemento | Costo | Disponibile | Data di spedizione |
2 | Ruota | 20,50 € | 4 | 1/03/2016 |
3 | Porta | 15 $ | 2 | 15/03/2016 |
4 | Motore | 100 $ | 1 | 20/03/2016 |
5 | Totali | 135,5 $ | 7 | 20/03/2016 |
Scrivere in modo selettivo in un intervallo
È possibile, quando si scrivono valori in un intervallo, evitare di modificare alcune
celle impostando gli elementi dell'array corrispondenti su null
. È inoltre possibile
per cancellare una cella scrivendo una stringa vuota (""
).
Iniziare con un foglio contenente gli stessi dati generati dalla
esempio:
spreadsheets.values.update
:
un esempio di codice mostra come scrivere i valori nell'intervallo B1:D4, in modo selettivo
lasciando alcune celle invariate e cancellandone altre. La
ValueInputOption
query
è obbligatorio e determina se i valori scritti vengono analizzati (ad
ad esempio se una stringa viene convertita o meno in una data).
Il corpo della richiesta è un
ValueRange
che descrive i valori dell'intervallo da scrivere. La
Campo majorDimension
indica che le matrici sono elenchi di valori organizzati per colonna.
Il protocollo di richiesta è mostrato di seguito.
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", ""] ] }
Il campo values
qui elenca le modifiche apportate a ogni colonna dell'intervallo. La
il primo array indica che B1 deve essere lasciato invariato (a causa dell'array null
)
), mentre B4 deve essere cancellato (stringa vuota). B2 e B3 hanno i loro valori
aggiornato. Il terzo array esegue le stesse operazioni sulla colonna D, mentre
una seconda matrice vuota indica che la colonna C deve essere lasciata invariata.
La risposta è composta da un
UpdateValuesResponse
come questo:
{
"spreadsheetId": SPREADSHEET_ID
,
"updatedRange": "Sheet1!B1:D5",
"updatedRows": 3,
"updatedColumns": 2,
"updatedCells": 6,
}
Il foglio risultante ha il seguente aspetto:
A | B | C | D | |
1 | Elemento | Costo | Disponibile | Data di spedizione |
2 | Ruota | 1,00 $ | 4 | 1/04/2016 |
3 | Porta | $ 2 | 2 | 15/04/2016 |
4 | Motore | 1 | ||
5 | Totali | $ 3,00 | 7 | 15/04/2016 |
Tieni presente che la colonna "Totali" riga, pur non essendo modificata direttamente da questa richiesta, cambiare perché le sue celle contengono formule che dipendono dalle celle alterate.
Scrittura su più intervalli
Inizia con un foglio vuoto, quanto segue:
spreadsheets.values.batchUpdate
esempio di codice mostra come scrivere i valori negli intervalli Sheet1!A1:A4 e
Foglio1!B1:D2. I valori esistenti nell'intervallo target vengono sovrascritti. La richiesta
è composto da un
Oggetto ValueInputOption
che
mostra come interpretare i dati di input e un array di
ValueRange
corrispondenti a ogni intervallo scritto. La
Campo majorDimension
determina se le matrici incluse sono interpretate come matrici di colonne o righe.
Il protocollo di richiesta è mostrato di seguito.
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 risposta è composta da un oggetto che elenca le statistiche aggiornate della cella
e un array di
UpdateValuesResponse
uno per ogni intervallo aggiornato. Ad esempio:
{ "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, } ], }
Il foglio risultante ha il seguente aspetto:
A | B | C | D | |
1 | Elemento | Costo | Disponibile | Data di spedizione |
2 | Ruota | 20,50 € | 4 | 1/03/2016 |
3 | Porta | |||
4 | Motore | |||
5 |
Scrivi valori senza analizzarli
Inizia con un foglio vuoto, quanto segue:
spreadsheets.values.update
esempio di codice mostra come scrivere i valori nell'intervallo Sheet1!A1:E1, ma utilizza
RAW
ValueInputOption
parametro di query per impedire che le stringhe scritte vengano analizzate come formule,
booleani o numeri. Vengono visualizzati come stringhe e l'allineamento del testo è giustificato
nel foglio.
Il corpo della richiesta è un
ValueRange
che descrive i valori dell'intervallo da scrivere. La
Campo majorDimension
indica che le matrici sono elenchi di valori organizzati per righe. Valori esistenti
nell'intervallo target vengono sovrascritte.
Il protocollo di richiesta è mostrato di seguito.
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 risposta è composta da un
UpdateValuesResponse
come questo:
{
"spreadsheetId": SPREADSHEET_ID
,
"updatedRange": "Sheet1!A1:E1",
"updatedRows": 1,
"updatedColumns": 5,
"updatedCells": 5,
}
Il foglio risultante ha il seguente aspetto:
A | B | C | D | E | |
1 | Dati | 123,45 | VERO | =MAX(D2:D4) | 10 |
2 |
Tieni presente che "TRUE" è centrato ed è un valore booleano, mentre "123,45" è giusto giustificato perché è un numero e "10" è giustificato a sinistra perché si tratta di stringa. La formula non viene analizzata e viene visualizzata anche come stringa.
Aggiungi valori
Inizia con un foglio come quello della tabella seguente:
A | B | C | D | |
1 | Elemento | Costo | Disponibile | Data di spedizione |
2 | Ruota | 20,50 € | 4 | 1/03/2016 |
3 |
Le seguenti
spreadsheets.values.append
l'esempio di codice mostra come aggiungere due nuove righe di valori a partire dalla riga 3. La
ValueInputOption
query
è obbligatorio e determina se i valori scritti vengono analizzati (ad
ad esempio se una stringa viene convertita o meno in una data).
Il corpo della richiesta è un
ValueRange
che descrive i valori dell'intervallo da scrivere. La
Campo majorDimension
indica che le matrici sono elenchi di valori organizzati per righe.
Il protocollo di richiesta è mostrato di seguito.
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 risposta è composta da un
AppendValuesResponse
come questo:
{ "spreadsheetId":SPREADSHEET_ID
, "tableRange": "Sheet1!A1:D2", "updates": { "spreadsheetId":SPREADSHEET_ID
, "updatedRange": "Sheet1!A3:D4", "updatedRows": 2, "updatedColumns": 4, "updatedCells": 8, } }
Il foglio risultante ha il seguente aspetto:
A | B | C | D | |
1 | Elemento | Costo | Disponibile | Data di spedizione |
2 | Ruota | 20,50 € | 4 | 1/03/2016 |
3 | Porta | 15 $ | 2 | 15/03/2016 |
4 | Motore | 100 $ | 1 | 20/03/2016 |
5 |