Operazioni su foglio

L'API Fogli Google ti consente di creare, cancellare, copiare ed eliminare fogli, nonché di controllare le relative 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 dalla lingua. 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 recuperare l'ID foglio utilizzando il metodo spreadsheets.get. Gli intervalli vengono specificati utilizzando la notazione A1. Un intervallo di esempio è Foglio1!A1:D5.

Aggiungere un foglio

Il seguente spreadsheets.batchUpdate esempio di codice mostra come utilizzare la funzione 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 è costituita da un AddSheetResponse, che contiene un oggetto con le proprietà del foglio creato (ad esempio il suo 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
          }
        }
      }
    }
  ]
}

Cancellare tutti i valori di un foglio mantenendo invariati 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.

La specifica del 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, dal foglio viene rimossa tutta la formattazione supportata dall'API Fogli, ma i valori delle celle rimangono invariati.

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 all'altro

Il seguente spreadsheet.sheets.copyTo esempio di codice 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 è costituita 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 spreadsheets.batchUpdate esempio di codice mostra come utilizzare il metodo 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
      }
    }
  ]
}

Leggere i dati del foglio

Il seguente spreadsheets.get esempio di codice mostra come recuperare le informazioni sulla 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 questi fogli. Il parametro di query fields specifica che devono essere restituiti solo i dati delle proprietà del foglio (anziché i dati dei valori delle celle o i dati relativi all'intero foglio di lavoro).

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

La risposta è costituita 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
        }
      },
      ...
  ],
}