A API Google Sheets permite atualizar a formatação de células e intervalos em planilhas. Os exemplos desta página ilustram como algumas operações de formatação comuns podem ser realizadas com a API Sheets. Confira mais exemplos de formatação condicional na página de receita 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 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 serem neutros em línguagem. Para saber como implementar uma atualização em lote em diferentes idiomas 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 conferir o
ID da planilha usando o método
spreadsheets.get
. Os
intervalos são especificados usando a notação A1. Um exemplo de intervalo é Planilha1!A1:D5.
No vídeo acima, você aprende a formatar células de planilhas de várias maneiras, incluindo: criar linhas fixas, aplicar negrito, implementar formatação de moeda, realizar a validação de células e restringir valores de células.
Editar bordas de células
O exemplo de código
spreadsheets.batchUpdate
a seguir mostra como usar o
UpdateBordersRequest
para dar a cada célula no intervalo A1:F10 uma borda azul tracejada na parte de cima e de baixo. O campo innerHorizontal
cria bordas horizontais no interior do intervalo.
Se o campo for omitido, as bordas serão adicionadas apenas à parte de cima e de baixo de todo o intervalo.
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
abaixo 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 justificação do texto, além de aplicar negrito. Omitir os í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 de cabeçalho seja congelada.
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
abaixo 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 A3:B6, deixando as linhas separadas.
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 decimal ou de data e hora personalizado para um intervalo
O exemplo de código
spreadsheets.batchUpdate
abaixo mostra como usar o método
RepeatCellRequest
para atualizar células e ter formatos de data/hora e número personalizados. A primeira solicitação
dá à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 atribui às células B1:B10 o formato de número personalizado
#,##0.0000
, que indica que os números precisam ser agrupados com separadores
de vírgula, que precisam ter 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 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" } } ] }