Formatação básica

É possível atualizar a formatação de células e intervalos em planilhas usando a API Google Sheets. Os exemplos nesta página mostram como algumas operações comuns de formatação podem ser realizadas com a API Google Sheets. Há mais exemplos de formatação condicional na página de receitas Formatação condicional.

Ao atualizar uma planilha, alguns tipos de solicitações podem retornar respostas. Elas são retornadas em uma matriz, com cada resposta ocupando o mesmo índice da solicitação correspondente. Algumas solicitações não têm respostas, e para essas, a resposta está vazia. A estrutura de resposta para esses exemplos pode ser encontrada em spreadsheets.batchUpdate.

Esses exemplos são apresentados na forma de solicitações HTTP para serem neutros em relação ao idioma. Para saber como implementar uma atualização em lote em diferentes linguagens usando as bibliotecas de cliente da API Google, consulte Atualizar planilhas.

Nesses exemplos, os marcadores de posição SPREADSHEET_ID e SHEET_ID indicam onde você forneceria esses IDs. Você pode encontrar o ID da planilha no URL dela. Você pode conseguir o ID da planilha usando o método spreadsheets.get. Os intervalos são especificados usando a notação A1. Um exemplo de intervalo é Página1!A1:D5.

No vídeo acima, você aprende a formatar células de planilhas de várias maneiras, incluindo: criar linhas fixas, colocar células em negrito, implementar formatação de moeda, realizar validação de células e restringir valores de células.

Editar bordas da célula

O exemplo de código spreadsheets.batchUpdate a seguir mostra como usar UpdateBordersRequest para dar a cada célula no intervalo A1:F10 uma borda superior e inferior tracejada e azul. O campo innerHorizontal cria bordas horizontais no interior do intervalo. Se você omitir o campo, as bordas serão adicionadas apenas à parte de cima e de baixo de todo o intervalo.

Tabela 3x3 com cada célula tendo uma borda superior e inferior tracejada e azul.
Figura 1. Formate cada célula com uma borda superior e inferior tracejada e azul em uma planilha.

O protocolo de solicitação é mostrado abaixo.

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
          },
        },
      }
    }
  ]
}

Formatar uma linha de cabeçalho

O exemplo de código spreadsheets.batchUpdate a seguir mostra como usar o RepeatCellRequest para formatar uma linha de cabeçalho em uma planilha. A primeira solicitação atualiza a cor do texto, a cor do plano de fundo, o tamanho da fonte e a justificativa do texto, além de colocar o texto em negrito. Se você omitir os índices de coluna no campo range, toda a linha será formatada. A segunda solicitação ajusta as propriedades da planilha para que a linha de cabeçalho seja congelada.

Tabela 3x3 com uma linha de cabeçalho formatada em uma planilha.
Figura 2. Formatar a linha de cabeçalho em uma planilha.

O protocolo de solicitação é mostrado abaixo.

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"
      }
    }
  ]
}

Mesclar células

O exemplo de código spreadsheets.batchUpdate a seguir mostra como usar o MergeCellsRequest para mesclar células. A primeira solicitação mescla o intervalo A1:B2 em uma única célula. A segunda solicitação mescla as colunas em A3:B6, mas deixa as linhas separadas.

Tabela 3x3 com células mescladas em uma planilha.
Figura 3. Mesclar células em uma planilha.

O protocolo de solicitação é mostrado abaixo.

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"
      }
    },
  ]
}

Definir um formato de data/hora ou decimal personalizado para um intervalo

O exemplo de código spreadsheets.batchUpdate a seguir mostra como usar o RepeatCellRequest para atualizar as células com formatos personalizados de data/hora e número. A primeira solicitação atribui às células no intervalo A1:A10 o formato de data e hora personalizado hh:mm:ss am/pm, ddd mmm dd yyyy. Um exemplo de data e hora nesse formato é: "02:05:07 PM, Sun Apr 03 2016".

A segunda solicitação atribui às células B1:B10 o formato de número personalizado #,##0.0000, que indica que os números devem ser agrupados com separadores de vírgula, que deve haver quatro dígitos após a casa decimal e que todos os zeros à esquerda, exceto um, devem ser removidos. Por exemplo, o número "3.14" é renderizado como "3.1400", enquanto "12345.12345" é renderizado como "12,345.1235".

Para mais informações, consulte Formatos de data e número.

Tabela 3x3 com formatos personalizados de data/hora e número em uma planilha.
Figura 4. Atualize as células para ter formatos personalizados de data/hora e número em uma planilha.

O protocolo de solicitação é mostrado abaixo.

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"
      }
    }
  ]
}