Com a API Google Sheets, você pode atualizar a formatação de células e intervalos nas planilhas. Os exemplos nesta página ilustram como algumas operações de formatação comuns podem ser realizadas com a API Sheets. Veja mais exemplos de formatação condicional na página de receitas de Formatação condicional.
Ao atualizar uma planilha, alguns tipos de solicitações podem retornar respostas.
Eles são retornados em uma matriz, com cada resposta ocupando o mesmo índice que a solicitação correspondente. Algumas solicitações não têm respostas e, para elas, a resposta está vazia. A estrutura de resposta desses exemplos pode ser encontrada em
spreadsheets.batchUpdate
.
Esses exemplos são apresentados na forma de solicitações HTTP para a linguagem neutra. Para saber como implementar uma atualização em lote em linguagens diferentes usando as bibliotecas de cliente das APIs do Google, consulte Atualizar planilhas.
Nesses exemplos, os marcadores SPREADSHEET_ID e SHEET_ID
indicam onde você fornece esses IDs. Você pode encontrar o ID da planilha no URL da planilha. Consiga o ID da planilha usando o método spreadsheets.get
. Os
intervalos são especificados usando a notação A1. Um exemplo de intervalo é Sheet1!A1:D5.
No vídeo acima, você aprende a formatar células da planilha de várias maneiras, incluindo a criação de linhas congeladas, células em negrito, implementação de formatação de moeda, validação de células e restrição de valores de células.
Editar bordas de células
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 tracejada superior e inferior azul. O campo innerHorizontal
cria bordas horizontais no interior do intervalo.
A omissão do campo faria com que as bordas fossem adicionadas apenas às partes
de cima e de baixo de todo o intervalo.
O protocolo da 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, deixando o
texto em negrito. A omissão dos índices de coluna no campo range
faz com que toda a
linha seja formatada. A segunda solicitação ajusta as propriedades da planilha para que a linha do cabeçalho fique congelada.
O protocolo da 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, deixando as linhas separadas.
O protocolo da 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 personalizado de data e hora ou decimal para um intervalo
O exemplo de código
spreadsheets.batchUpdate
a seguir mostra como usar o
RepeatCellRequest
para atualizar as células para que tenham formatos personalizados de data e número e data. A primeira solicitação fornece à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 neste formato é: "02:05:07 PM, Sun Apr
03 2016".
A segunda solicitação fornece às células em B1:B10 o formato numérico personalizado #,##0.0000
, que indica que os números precisam ser agrupados com separadores de vírgula, que deve haver quatro dígitos após o decimal e que todos, exceto um zero inicial, precisam ser descartados. Por exemplo, o número "3,14" é renderizado
como "3,1400", enquanto "12345.12345" é renderizado como "12.345.1235".
O protocolo da 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" } } ] }