Formattazione di base

Puoi aggiornare la formattazione di celle e intervalli all'interno dei fogli di lavoro utilizzando l'API Google Sheets. Gli esempi in questa pagina illustrano come eseguire alcune operazioni di formattazione comuni con l'API Sheets. Puoi trovare altri esempi di formattazione condizionale nella pagina della ricetta Formattazione condizionale.

Quando aggiorni un foglio di lavoro, alcuni tipi di richieste potrebbero restituire risposte. Questi vengono restituiti in un array, con ogni risposta che occupa lo stesso indice della richiesta corrispondente. Alcune richieste non hanno risposte e per queste la risposta è vuota. La struttura della risposta per questi esempi è disponibile in spreadsheets.batchUpdate.

Questi esempi sono 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. 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.

Nel video precedente, scopri come formattare le celle del foglio di lavoro in vari modi, tra cui: creare righe bloccate, mettere in grassetto le celle, implementare la formattazione della valuta, eseguire la convalida delle celle e limitare i valori delle celle.

Modificare i bordi delle celle

Il seguente spreadsheets.batchUpdate esempio di codice mostra come utilizzare UpdateBordersRequest per assegnare a ogni cella dell'intervallo A1:F10 un bordo superiore e inferiore tratteggiato di colore blu. Il campo innerHorizontal crea bordi orizzontali all'interno dell'intervallo. Se ometti il campo, i bordi verranno aggiunti solo alla parte superiore e inferiore dell'intero intervallo.

Tabella 3x3 con ogni cella con un bordo superiore e inferiore tratteggiato blu.
Figura 1. Formatta ogni cella con un bordo superiore e inferiore tratteggiato blu in un foglio.

Il protocollo di richiesta è mostrato di seguito.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateBorders": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 6
        },
        "top": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
        "bottom": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
        "innerHorizontal": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
      }
    }
  ]
}

Formattare una riga di intestazione

Il seguente esempio di codice spreadsheets.batchUpdate mostra come utilizzare RepeatCellRequest per formattare una riga di intestazione in un foglio. La prima richiesta aggiorna il colore del testo, il colore di sfondo, la dimensione del carattere del testo e la giustificazione del testo e mette il testo in grassetto. Se ometti gli indici di colonna nel campo range, viene formattata l'intera riga. La seconda richiesta modifica le proprietà del foglio in modo che la riga di intestazione sia bloccata.

Tabella 3x3 con una riga di intestazione formattata in un foglio.
Figura 2. Formatta la riga di intestazione in un foglio.

Il protocollo di richiesta è mostrato di seguito.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 1
        },
        "cell": {
          "userEnteredFormat": {
            "backgroundColor": {
              "red": 0.0,
              "green": 0.0,
              "blue": 0.0
            },
            "horizontalAlignment" : "CENTER",
            "textFormat": {
              "foregroundColor": {
                "red": 1.0,
                "green": 1.0,
                "blue": 1.0
              },
              "fontSize": 12,
              "bold": true
            }
          }
        },
        "fields": "userEnteredFormat(backgroundColor,textFormat,horizontalAlignment)"
      }
    },
    {
      "updateSheetProperties": {
        "properties": {
          "sheetId": SHEET_ID,
          "gridProperties": {
            "frozenRowCount": 1
          }
        },
        "fields": "gridProperties.frozenRowCount"
      }
    }
  ]
}

Unisci celle

Il seguente spreadsheets.batchUpdate esempio di codice mostra come utilizzare MergeCellsRequest per unire le celle. La prima richiesta unisce l'intervallo A1:B2 in una singola cella. La seconda richiesta unisce le colonne in A3:B6, lasciando separate le righe.

Tabella 3x3 con celle unite in un foglio.
Figura 3. Unire le celle in un foglio.

Il protocollo di richiesta è mostrato di seguito.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "mergeCells": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 2,
          "startColumnIndex": 0,
          "endColumnIndex": 2
        },
        "mergeType": "MERGE_ALL"
      }
    },
    {
      "mergeCells": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 2,
          "endRowIndex": 6,
          "startColumnIndex": 0,
          "endColumnIndex": 2
        },
        "mergeType": "MERGE_COLUMNS"
      }
    },
  ]
}

Impostare un formato personalizzato di data e ora o decimale per un intervallo

Il seguente spreadsheets.batchUpdate esempio di codice mostra come utilizzare RepeatCellRequest per aggiornare le celle in modo che abbiano formati personalizzati per data e ora e numeri. La prima richiesta assegna alle celle dell'intervallo A1:A10 il formato data e ora personalizzato hh:mm:ss am/pm, ddd mmm dd yyyy. Un esempio di data e ora in questo formato è: "02:05:07 PM, Sun Apr 03 2016".

La seconda richiesta assegna alle celle B1:B10 il formato numerico personalizzato #,##0.0000, che indica che i numeri devono essere raggruppati con separatori virgola, che devono esserci quattro cifre dopo la virgola e che tutti gli zeri iniziali tranne uno devono essere eliminati. Ad esempio, il numero "3.14" viene visualizzato come "3.1400", mentre "12345.12345" viene visualizzato come "12.345,1235".

Per maggiori informazioni, consulta la pagina Formati di date e numeri.

Tabella 3x3 con formati personalizzati di data/ora e numeri in un foglio.
Figura 4. Aggiorna le celle in modo che abbiano formati personalizzati di data/ora e numeri in un foglio.

Il protocollo di richiesta è mostrato di seguito.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 1
        },
        "cell": {
          "userEnteredFormat": {
            "numberFormat": {
              "type": "DATE",
              "pattern": "hh:mm:ss am/pm, ddd mmm dd yyyy"
            }
          }
        },
        "fields": "userEnteredFormat.numberFormat"
      }
    },
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 1,
          "endColumnIndex": 2
        },
        "cell": {
          "userEnteredFormat": {
            "numberFormat": {
              "type": "NUMBER",
              "pattern": "#,##0.0000"
            }
          }
        },
        "fields": "userEnteredFormat.numberFormat"
      }
    }
  ]
}