Operazioni su foglio

L'API Fogli Google consente di creare, cancellare, copiare ed eliminare fogli, nonché di controllarne le proprietà. Gli esempi in questa pagina illustrano come portare a termine alcune operazioni comuni di Fogli con l'API Fogli.

Questi esempi sono presentati sotto forma di richieste HTTP per essere neutrali dal linguaggio. Per informazioni su come implementare un aggiornamento batch in diversi linguaggi 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 dovresti fornire questi ID. Puoi trovare l'ID del foglio di lavoro nell'URL del foglio di lavoro. Puoi ottenere l'ID foglio utilizzando il metodo spreadsheets.get. Gli intervalli vengono specificati utilizzando la notazione A1. Un intervallo di esempio è Foglio1!A1:D5.

Aggiungi un foglio

Il seguente esempio di codice di spreadsheets.batchUpdate mostra come utilizzare AddSheetRequest per aggiungere un foglio a un foglio di lavoro, impostando al contempo il titolo, le dimensioni della griglia e il colore della scheda.

La risposta è composta da un elemento AddSheetResponse, che contiene un oggetto con le proprietà del foglio creato (come SHEET_ID).

Il protocollo di richiesta è mostrato di seguito.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "addSheet": {
        "properties": {
          "title": "Deposits",
          "gridProperties": {
            "rowCount": 20,
            "columnCount": 12
          },
          "tabColor": {
            "red": 1.0,
            "green": 0.3,
            "blue": 0.4
          }
        }
      }
    }
  ]
}

Cancella tutti i valori in un foglio mantenendo i formati

Il seguente esempio di codice di spreadsheets.batchUpdate mostra come utilizzare UpdateCellsRequest per rimuovere tutti i valori da un foglio, senza modificare la formattazione.

Se specifichi il campo userEnteredValue senza un valore corrispondente, viene interpretata come un'istruzione per cancellare i valori nell'intervallo. Questa impostazione può essere utilizzata anche con altri campi. Ad esempio, se modifichi il valore fields in userEnteredFormat, vengono rimosse dal foglio tutta la formattazione supportata dall'API Fogli, ma lascia inalterati i valori delle celle.

Il protocollo di richiesta è mostrato di seguito.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateCells": {
        "range": {
          "sheetId": SHEET_ID
        },
        "fields": "userEnteredValue"
      }
    }
  ]
}

Copiare un foglio da un foglio di lavoro a un altro

Il seguente esempio di codice di spreadsheet.sheets.copyTo mostra come copiare un singolo foglio specificato da SHEET_ID da un foglio di lavoro a un altro.

La variabile TARGET_SPREADSHEET_ID nel corpo della richiesta specifica il foglio di lavoro di destinazione. La copia conserva tutti i valori, la formattazione, le formule e altre proprietà dell'originale. Il titolo del foglio copiato è impostato su "Copia di [titolo del foglio originale]".

La risposta è composta da un oggetto SheetProperties che descrive le proprietà del foglio creato.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/sheets/SHEET_ID:copyTo
{
  "destinationSpreadsheetId": "TARGET_SPREADSHEET_ID"
}

Eliminare un foglio

Il seguente esempio di codice di spreadsheets.batchUpdate mostra come utilizzare DeleteSheetRequest per eliminare un foglio specificato da SHEET_ID.

Il protocollo di richiesta è mostrato di seguito.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "deleteSheet": {
        "sheetId": SHEET_ID
      }
    }
  ]
}

Leggi i dati del foglio

Il seguente esempio di codice di spreadsheets.get mostra come ottenere informazioni sulle proprietà sheet da un foglio di lavoro, specificato da SHEET_ID e SPREADSHEET_ID. Questo metodo viene spesso utilizzato per determinare i metadati dei fogli all'interno di un foglio di lavoro specifico, in modo che le operazioni aggiuntive possano avere come target quei fogli. Il parametro di query fields specifica che devono essere restituiti solo i dati della proprietà del foglio (invece dei dati del valore della cella o dei dati relativi all'intero foglio di lavoro).

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?&fields=sheets.properties

La risposta è composta da una risorsa Spreadsheet, che contiene un oggetto Sheet con elementi SheetProperties. Se un determinato campo di risposta è impostato sul valore predefinito, viene omesso dalla risposta.

{
  "sheets": [
    {
      "properties": {
        "sheetId": SHEET_ID,
        "title": "Sheet1",
        "index": 0,
        "sheetType": "GRID",
        "gridProperties": {
          "rowCount": 100,
          "columnCount": 20,
          "frozenRowCount": 1
        }
        "tabColor": {
          "blue": 1.0
        }
      },
      ...
  ],
}