L'API Fogli Google 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 possono essere eseguite anche con l'API Fogli. Gli esempi in questa pagina illustrano come eseguire alcune operazioni comuni per i fogli di lavoro con l'API Fogli.
Questi esempi sono presentati sotto forma di richieste HTTP per essere indipendenti dal linguaggio. Per scoprire come implementare un aggiornamento batch in lingue diverse, utilizzando le librerie client delle API di Google, consulta la pagina relativa all'aggiornamento dei 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 ottenere
l'ID del foglio utilizzando il
metodo spreadsheets.get
. Gli
intervalli vengono specificati utilizzando la notazione A1. Un intervallo di esempio è Foglio1!A1:D5.
Applica la convalida dei dati a un intervallo
Il seguente esempio di codice di spreadsheets.batchUpdate
mostra come utilizzare SetDataValidationRequest
per applicare una regola di convalida dei dati, in cui "valore > 5", a ogni cella nell'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 esempio di codice spreadsheets.batchUpdate
mostra come utilizzare 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 di 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 celle
Il seguente esempio di codice spreadsheets.batchUpdate
mostra come utilizzare CutPasteRequest
.
Taglia l'intervallo A1:D10 e utilizza l'enumerazione
PasteType
con PASTE_NORMAL
per incollare i valori, le formule, la formattazione e le unioni all'intervallo F1:I10 nello stesso foglio. Vengono rimossi i contenuti
della cella dell'intervallo di origine originale.
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 esempio di codice per spreadsheets.batchUpdate
mostra come utilizzare 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 ha la formula =FLOOR(A1*PI())
, mentre
la cella D6 ha 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
Il seguente esempio di codice di spreadsheets.batchUpdate
mostra come utilizzare SortRangeRequest
per ordinare l'intervallo A1:D10, prima per la colonna B in ordine crescente, poi per la colonna C in ordine decrescente e poi per la 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"
}
]
}
}
]
}