L'API Google Sheets ti consente di manipolare i dati all'interno dei fogli di lavoro in vari modi. La maggior parte delle funzionalità disponibili per gli utenti che utilizzano l'interfaccia utente di Fogli è possibile eseguirla anche con l'API Fogli. Gli esempi in questa pagina mostrano come eseguire alcune operazioni comuni dei fogli di lavoro con l'API Fogli.
Questi esempi sono presentati sotto forma di richieste HTTP per essere indipendenti dalla lingua. Per scoprire come implementare un aggiornamento collettivo in lingue diverse utilizzando le librerie client delle API di Google, consulta Aggiornare i fogli di lavoro.
In questi esempi, i segnaposto SPREADSHEET_ID
e SHEET_ID
indicano dove fornire questi ID. Puoi trovare l'ID del foglio di lavoro nell'URL del foglio di lavoro. Puoi recuperare
l'ID foglio utilizzando il metodo
spreadsheets.get
. Gli intervalli vengono specificati utilizzando la notazione A1. Un
intervallo di esempio è Foglio1!A1:D5.
Applicare la convalida dei dati a un intervallo
Il seguente
spreadsheets.batchUpdate
codice di esempio mostra come utilizzare la funzione
SetDataValidationRequest
per applicare una regola di convalida dei dati, in cui "valore > 5", a ogni cella dell'intervallo A1:D10.
Il protocollo di richiesta è mostrato di seguito.
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
}
}
}
]
}
Copiare e incollare la formattazione delle celle
Il seguente
spreadsheets.batchUpdate
esempio di codice mostra come utilizzare la funzione
CopyPasteRequest
per copiare la formattazione solo nell'intervallo A1:D10 e incollarla nell'intervallo F1:I10
nello stesso foglio. Il metodo utilizza l'enum
PasteType
con PASTE_FORMAT
per incollare solo la formattazione e la convalida dei dati. I valori originali in A1:D10 rimangono invariati.
Il protocollo di richiesta è mostrato di seguito.
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" } } ] }
Taglia e incolla le celle
Il seguente
spreadsheets.batchUpdate
esempio di codice mostra come utilizzare
CutPasteRequest
.
Taglia l'intervallo A1:D10 e utilizza l'enum PasteType
con PASTE_NORMAL
per incollare i relativi valori, formule, formattazione e unioni nell'intervallo F1:I10 nello stesso foglio. I contenuti delle celle dell'intervallo di origine originale vengono
rimossi.
Il protocollo di richiesta è mostrato di seguito.
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" } } ] }
Ripeti una formula in un intervallo
Il seguente
spreadsheets.batchUpdate
esempio di codice mostra come utilizzare la funzione
RepeatCellRequest
per copiare la formula =FLOOR(A1*PI())
nell'intervallo B1:D10. L'intervallo della formula viene incrementato automaticamente per ogni riga e colonna dell'intervallo, a partire dalla cella in alto a sinistra. Ad esempio, la cella B1 contiene la formula =FLOOR(A1*PI())
, mentre la cella D6 contiene la formula =FLOOR(C6*PI())
.
Il protocollo di richiesta è mostrato di seguito.
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"
}
}
]
}
Ordinare un intervallo con più specifiche di ordinamento
L'esempio di codice seguente
spreadsheets.batchUpdate
mostra come utilizzare la funzione
SortRangeRequest
per ordinare l'intervallo A1:D10, prima per colonna B in ordine crescente, poi per colonna C
in ordine decrescente e infine per colonna D in ordine decrescente.
Il protocollo di richiesta è mostrato di seguito.
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"
}
]
}
}
]
}