Scrittura di base

L'API Fogli Google ti consente di scrivere valori e formule in celle, intervalli, insiemi di intervalli e interi fogli. Gli esempi in questa pagina spiegano come alcuni le operazioni di scrittura più comuni possono essere ottenute spreadsheets.values risorsa dell'API Fogli.

Tieni presente che è anche possibile scrivere valori di cella utilizzando spreadsheet.batchUpdate , che può essere utile se vuoi aggiornare contemporaneamente la formattazione della cella o altre proprietà spreadsheets.values non è interessato da questa risorsa. Ad esempio, se vuoi copiare un intervallo di celle da da un foglio all'altro sovrascrivendo sia la formula della cella che la cella la formattazione, puoi utilizzare UpdateCellsRequest con un spreadsheet.batchUpdate.

Tuttavia, per le scritture di valori semplici, è più facile utilizzare spreadsheets.values.update o il metodo spreadsheets.values.batchUpdate .

Questi esempi sono presentati sotto forma di richieste HTTP per neutri. Per imparare a implementare le scritture in lingue diverse utilizzando le librerie client delle API di Google, consulta Read & scrivi cella personalizzati.

In questi esempi, il segnaposto SPREADSHEET_ID indica in cui forniresti il foglio di lavoro ID, che può essere rilevato dalla URL del foglio di lavoro. Gli intervalli in cui scrivere vengono specificati utilizzando A1 notazione. Un intervallo di esempio è Foglio1!A1:D5.

Scrivere un singolo intervallo

Iniziando da un nuovo foglio di lavoro vuoto, come spreadsheets.values.update l'esempio di codice mostra come scrivere i valori in un intervallo. La ValueInputOption query è obbligatorio e determina se i valori scritti vengono analizzati (ad ad esempio se una stringa viene convertita o meno in una data).

Il corpo della richiesta è un ValueRange che descrive i valori dell'intervallo da scrivere. La Campo majorDimension indica che le matrici sono elenchi di valori organizzati per righe. Valori esistenti nell'intervallo target vengono sovrascritte.

Il protocollo di richiesta è mostrato di seguito.

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:D5?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!A1:D5",
  "majorDimension": "ROWS",
  "values": [
    ["Item", "Cost", "Stocked", "Ship Date"],
    ["Wheel", "$20.50", "4", "3/1/2016"],
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "3/20/2016"],
    ["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
  ],
}

La risposta è composta da un UpdateValuesResponse come questo:

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!A1:D5",
  "updatedRows": 5,
  "updatedColumns": 4,
  "updatedCells": 20,
}

Il foglio risultante ha il seguente aspetto:

A B C D
1 Elemento Costo Disponibile Data di spedizione
2 Ruota 20,50 € 4 1/03/2016
3 Porta 15 $ 2 15/03/2016
4 Motore 100 $ 1 20/03/2016
5 Totali 135,5 $ 7 20/03/2016

Scrivere in modo selettivo in un intervallo

È possibile, quando si scrivono valori in un intervallo, evitare di modificare alcune celle impostando gli elementi dell'array corrispondenti su null. È inoltre possibile per cancellare una cella scrivendo una stringa vuota ("").

Iniziare con un foglio contenente gli stessi dati generati dalla esempio: spreadsheets.values.update: un esempio di codice mostra come scrivere i valori nell'intervallo B1:D4, in modo selettivo lasciando alcune celle invariate e cancellandone altre. La ValueInputOption query è obbligatorio e determina se i valori scritti vengono analizzati (ad ad esempio se una stringa viene convertita o meno in una data).

Il corpo della richiesta è un ValueRange che descrive i valori dell'intervallo da scrivere. La Campo majorDimension indica che le matrici sono elenchi di valori organizzati per colonna.

Il protocollo di richiesta è mostrato di seguito.

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!B1?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!B1",
  "majorDimension": "COLUMNS",
  "values": [
    [null,"$1","$2", ""],
    [],
    [null,"4/1/2016", "4/15/2016", ""]
  ]
}

Il campo values qui elenca le modifiche apportate a ogni colonna dell'intervallo. La il primo array indica che B1 deve essere lasciato invariato (a causa dell'array null) ), mentre B4 deve essere cancellato (stringa vuota). B2 e B3 hanno i loro valori aggiornato. Il terzo array esegue le stesse operazioni sulla colonna D, mentre una seconda matrice vuota indica che la colonna C deve essere lasciata invariata.

La risposta è composta da un UpdateValuesResponse come questo:

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!B1:D5",
  "updatedRows": 3,
  "updatedColumns": 2,
  "updatedCells": 6,
}

Il foglio risultante ha il seguente aspetto:

A B C D
1 Elemento Costo Disponibile Data di spedizione
2 Ruota 1,00 $ 4 1/04/2016
3 Porta $ 2 2 15/04/2016
4 Motore 1
5 Totali $ 3,00 7 15/04/2016

Tieni presente che la colonna "Totali" riga, pur non essendo modificata direttamente da questa richiesta, cambiare perché le sue celle contengono formule che dipendono dalle celle alterate.

Scrittura su più intervalli

Inizia con un foglio vuoto, quanto segue: spreadsheets.values.batchUpdate esempio di codice mostra come scrivere i valori negli intervalli Sheet1!A1:A4 e Foglio1!B1:D2. I valori esistenti nell'intervallo target vengono sovrascritti. La richiesta è composto da un Oggetto ValueInputOption che mostra come interpretare i dati di input e un array di ValueRange corrispondenti a ogni intervallo scritto. La Campo majorDimension determina se le matrici incluse sono interpretate come matrici di colonne o righe.

Il protocollo di richiesta è mostrato di seguito.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values:batchUpdate
{
  "valueInputOption": "VALUE_INPUT_OPTION",
  "data": [
    {
      "range": "Sheet1!A1:A4",
      "majorDimension": "COLUMNS",
      "values": [
        ["Item", "Wheel", "Door", "Engine"]
      ]
    },
    {
      "range": "Sheet1!B1:D2",
      "majorDimension": "ROWS",
      "values": [
        ["Cost", "Stocked", "Ship Date"],
        ["$20.50", "4", "3/1/2016"]
      ]
    }
  ]
}

La risposta è composta da un oggetto che elenca le statistiche aggiornate della cella e un array di UpdateValuesResponse uno per ogni intervallo aggiornato. Ad esempio:

{
  "spreadsheetId": SPREADSHEET_ID,
  "totalUpdatedRows": 4,
  "totalUpdatedColumns": 4,
  "totalUpdatedCells": 10,
  "totalUpdatedSheets": 1,
  "responses": [
    {
      "spreadsheetId": SPREADSHEET_ID,
      "updatedRange": "Sheet1!A1:A4",
      "updatedRows": 4,
      "updatedColumns": 1,
      "updatedCells": 4,
    },
    {
      "spreadsheetId": SPREADSHEET_ID,
      "updatedRange": "Sheet1!B1:D2",
      "updatedRows": 2,
      "updatedColumns": 3,
      "updatedCells": 6,
    }
  ],
}

Il foglio risultante ha il seguente aspetto:

A B C D
1 Elemento Costo Disponibile Data di spedizione
2 Ruota 20,50 € 4 1/03/2016
3 Porta
4 Motore
5

Scrivi valori senza analizzarli

Inizia con un foglio vuoto, quanto segue: spreadsheets.values.update esempio di codice mostra come scrivere i valori nell'intervallo Sheet1!A1:E1, ma utilizza RAW ValueInputOption parametro di query per impedire che le stringhe scritte vengano analizzate come formule, booleani o numeri. Vengono visualizzati come stringhe e l'allineamento del testo è giustificato nel foglio.

Il corpo della richiesta è un ValueRange che descrive i valori dell'intervallo da scrivere. La Campo majorDimension indica che le matrici sono elenchi di valori organizzati per righe. Valori esistenti nell'intervallo target vengono sovrascritte.

Il protocollo di richiesta è mostrato di seguito.

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:E1?valueInputOption=RAW
{
  "range": "Sheet1!A1:E1",
  "majorDimension": "ROWS",
  "values": [
    ["Data", 123.45, true, "=MAX(D2:D4)", "10"]
  ],
}

La risposta è composta da un UpdateValuesResponse come questo:

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!A1:E1",
  "updatedRows": 1,
  "updatedColumns": 5,
  "updatedCells": 5,
}

Il foglio risultante ha il seguente aspetto:

A B C D E
1 Dati 123,45 VERO =MAX(D2:D4) 10
2

Tieni presente che "TRUE" è centrato ed è un valore booleano, mentre "123,45" è giusto giustificato perché è un numero e "10" è giustificato a sinistra perché si tratta di stringa. La formula non viene analizzata e viene visualizzata anche come stringa.

Aggiungi valori

Inizia con un foglio come quello della tabella seguente:

A B C D
1 Elemento Costo Disponibile Data di spedizione
2 Ruota 20,50 € 4 1/03/2016
3

Le seguenti spreadsheets.values.append l'esempio di codice mostra come aggiungere due nuove righe di valori a partire dalla riga 3. La ValueInputOption query è obbligatorio e determina se i valori scritti vengono analizzati (ad ad esempio se una stringa viene convertita o meno in una data).

Il corpo della richiesta è un ValueRange che descrive i valori dell'intervallo da scrivere. La Campo majorDimension indica che le matrici sono elenchi di valori organizzati per righe.

Il protocollo di richiesta è mostrato di seguito.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:E1:append?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!A1:E1",
  "majorDimension": "ROWS",
  "values": [
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "3/20/2016"],
  ],
}

La risposta è composta da un AppendValuesResponse come questo:

{
  "spreadsheetId": SPREADSHEET_ID,
  "tableRange": "Sheet1!A1:D2",
  "updates": {
    "spreadsheetId": SPREADSHEET_ID,
    "updatedRange": "Sheet1!A3:D4",
    "updatedRows": 2,
    "updatedColumns": 4,
    "updatedCells": 8,
  }
}

Il foglio risultante ha il seguente aspetto:

A B C D
1 Elemento Costo Disponibile Data di spedizione
2 Ruota 20,50 € 4 1/03/2016
3 Porta 15 $ 2 15/03/2016
4 Motore 100 $ 1 20/03/2016
5