Operazioni sui dati

L'API Google Sheets consente di manipolare i dati all'interno dei fogli di lavoro in vari modi. La maggior parte delle funzionalità disponibili per gli utenti che lavorano con l'interfaccia utente di Fogli è possibile anche con l'API Sheets. Gli esempi in questa pagina illustrano come eseguire alcune operazioni comuni sui fogli di lavoro con l'API Sheets.

Questi esempi vengono presentati sotto forma di richieste HTTP per essere indipendenti dalla lingua. Per scoprire come implementare un aggiornamento batch in diverse lingue 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 devi 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 spreadsheets.get metodo. Gli intervalli vengono specificati utilizzando la notazione A1. Un intervallo di esempio è Sheet1!A1:D5.

Applicare la convalida dei dati a un intervallo

Il seguente spreadsheets.batchUpdate esempio di codice mostra come utilizzare SetDataValidationRequest per applicare una regola di convalida dei dati, in cui "valore > 5", a ogni cella dell'intervallo A1:D10.

Di seguito è riportato il protocollo della richiesta.

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 CopyPasteRequest per copiare solo la formattazione nell'intervallo A1:D10 e incollarla nell'intervallo F1:I10 nello stesso foglio. Il metodo utilizza l' PasteType enum con PASTE_FORMAT per incollare solo la formattazione e la convalida dei dati. I valori originali in A1:D10 rimangono invariati.

Di seguito è riportato il protocollo della richiesta.

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"
      }
    }
  ]
}

Tagliare e incollare le celle

Il seguente spreadsheets.batchUpdate esempio di codice mostra come utilizzare CutPasteRequest. Taglia l'intervallo A1:D10 e utilizza l' PasteType enumerazione 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.

Di seguito è riportato il protocollo della richiesta.

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"
      }
    }
  ]
}

Ripetere una formula in un intervallo

Il seguente spreadsheets.batchUpdate esempio di codice 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()).

Di seguito è riportato il protocollo della richiesta.

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 spreadsheets.batchUpdate esempio di codice mostra come utilizzare SortRangeRequest per ordinare l'intervallo A1:D10, prima in base alla colonna B in ordine crescente, poi in base alla colonna C in ordine decrescente e infine in base alla colonna D in ordine decrescente.

Di seguito è riportato il protocollo della richiesta.

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"
          }
        ]
      }
    }
  ]
}