Operazioni su foglio

L'API Fogli Google consente di creare, cancellare, copiare ed eliminare fogli, nonché controllarne le proprietà. Gli esempi in questa pagina illustrano come eseguire alcune operazioni comuni di Fogli 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.

Aggiungi un foglio

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

La risposta è composta da un 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 un foglio di tutti i valori mantenendo i formati

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

Se viene specificato il campo userEnteredValue senza un valore corrispondente, viene interpretato 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, rimuovi dal foglio tutta la formattazione supportata dall'API Fogli, ma lascia invariati 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 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 le 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 per 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
      }
    }
  ]
}

Lettura dei dati del foglio

Il seguente esempio di codice spreadsheets.get mostra come ottenere informazioni sulla proprietà foglio 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 scegliere come target quei fogli. Il parametro di query fields specifica che devono essere restituiti solo i dati della proprietà del foglio (a differenza dei dati dei valori delle celle 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
        }
      },
      ...
  ],
}