Formattazione di base

L'API Fogli Google ti consente di aggiornare la formattazione di celle e intervalli nei fogli di lavoro. Gli esempi in questa pagina illustrano come eseguire alcune operazioni di formattazione comuni con l'API Fogli. Puoi trovare altri esempi di formattazione condizionale nella pagina della formula Formattazione condizionale.

Quando aggiorni un foglio di lavoro, alcuni tipi di richieste potrebbero restituire risposte. Questi vengono restituiti in un array e ogni risposta 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 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.

Nel video qui sopra, scoprirai come formattare le celle di un foglio di lavoro in vari modi, tra cui: creare righe bloccate, applicare il grassetto alle celle, implementare la formattazione della valuta, eseguire la convalida delle celle e limitare i valori delle celle.

Modifica i bordi delle celle

Il seguente spreadsheets.batchUpdate esempio di codice mostra come utilizzare il UpdateBordersRequest per assegnare a ogni cella dell'intervallo A1:F10 un bordo superiore e inferiore tratteggiati blu. Il campo innerHorizontal crea bordi orizzontali all'interno dell'intervallo. Se il campo viene omesso, i bordi vengono aggiunti solo in alto e in basso dell'intero intervallo.

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

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 spreadsheets.batchUpdate esempio di codice mostra come utilizzare la funzione 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 e l'allineamento del testo e mette il testo in grassetto. Se gli indici di colonna nel campo range vengono omessi, l'intera riga viene formattata. La seconda richiesta regola le proprietà del foglio in modo che la riga di intestazione sia bloccata.

Tabella 3 per 3 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 la funzione MergeCellsRequest per unire le celle. La prima richiesta unisce l'intervallo A1:B2 in un'unica cella. La seconda richiesta unisce le colonne in A3:B6, lasciando separate le righe.

Tabella 3 x 3 con celle unite in un foglio.
Figura 3. Unisci le celle di 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 decimale o data/ora personalizzato per un intervallo

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

La seconda richiesta assegna alle celle B1:B10 il formato personalizzato per i numeri #,##0.0000, che indica che i numeri devono essere raggruppati con separatori di comma, che devono essere presenti 4 cifre dopo la virgola decimale e che devono essere eliminati tutti i zeri iniziali tranne uno. Ad esempio, il numero "3,14" viene visualizzato come "3,1400", mentre "12345.12345" viene visualizzato come "12,345.1235".

Tabella 3 x 3 con formati di data e ora e numeri personalizzati in un foglio.
Figura 4. Aggiorna le celle in modo che abbiano formati personalizzati per data e 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"
      }
    }
  ]
}