Com a API Google Sheets, você pode criar e atualizar as regras de formatação condicional em planilhas. Apenas alguns tipos de formatação (negrito, itálico, tachado, cor de primeiro plano e de fundo) podem ser controladas por meio de comandos e a formatação. Os exemplos nesta página ilustram como alcançar operações de formatação condicional com a API Sheets.
Esses exemplos são apresentados como solicitações HTTP para serem neutros em relação à linguagem. Para saber como implementar uma atualização em lote em idiomas diferentes usando a API do Google bibliotecas de clientes, consulte Atualizar planilhas.
Nestes exemplos, os marcadores de posição SPREADSHEET_ID e SHEET_ID
indica onde você deve fornecer esses IDs. Você pode encontrar a planilha
ID no URL da planilha. Você pode receber
o ID da planilha usando o
spreadsheets.get
. A
são especificados usando a notação A1. Um
exemplo de intervalo é Sheet1!A1:D5.
Adicionar um gradiente de cor condicional em uma linha
O seguinte
spreadsheets.batchUpdate
o exemplo de código de método mostra como usar a
AddConditionalFormatRuleRequest
para estabelecer novas regras de formatação condicional de gradiente para as linhas 10 e 11 de um
folha A primeira regra declara que as células dessa linha têm as cores do plano de fundo
definidos de acordo com o valor. O valor mais baixo da linha é vermelho escuro,
e o valor mais alto, verde-claro. A cor dos outros valores
é interpolado. A segunda regra faz o mesmo, mas com valores numéricos específicos.
determinar os pontos de extremidade do gradiente (e cores diferentes). A solicitação usa o
sheets.InterpolationPointType
como type
.
Confira o protocolo da solicitação abaixo.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 9, "endRowIndex": 10, } ], "gradientRule": { "minpoint": { "color": { "green": 0.2, "red": 0.8 }, "type": "MIN" }, "maxpoint": { "color": { "green": 0.9 }, "type": "MAX" }, } }, "index": 0 } }, { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 10, "endRowIndex": 11, } ], "gradientRule": { "minpoint": { "color": { "green": 0.8, "red": 0.8 }, "type": "NUMBER", "value": "0" }, "maxpoint": { "color": { "blue": 0.9, "green": 0.5, "red": 0.5 }, "type": "NUMBER", "value": "256" }, } }, "index": 1 } }, ] }
Após a solicitação, a regra de formatação aplicada atualiza a página. Como o gradiente
na linha 11 tem o ponto máximo definido como 256
, todos os valores acima dele têm o ponto máximo
cor:
Adicionar uma regra de formatação condicional a um conjunto de intervalos
O seguinte
spreadsheets.batchUpdate
o exemplo de código de método mostra como usar a
AddConditionalFormatRuleRequest
para estabelecer uma nova regra de formatação condicional para as colunas A e C de uma planilha.
A regra declara que as células com valores de 10 ou menos têm seu plano de fundo
cores alteradas para um vermelho-escuro. A regra é inserida no índice 0, então leva
prioridade sobre outras regras de formatação. A solicitação usa o
ConditionType
que o type
do
BooleanRule
Confira o protocolo da solicitação abaixo.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startColumnIndex": 0, "endColumnIndex": 1, }, { "sheetId": SHEET_ID, "startColumnIndex": 2, "endColumnIndex": 3, }, ], "booleanRule": { "condition": { "type": "NUMBER_LESS_THAN_EQ", "values": [ { "userEnteredValue": "10" } ] }, "format": { "backgroundColor": { "green": 0.2, "red": 0.8, } } } }, "index": 0 } } ] }
Após a solicitação, a regra de formatação aplicada atualiza a página:
Adicionar regras de formatação condicional de data e texto a um intervalo
O seguinte
spreadsheets.batchUpdate
o exemplo de código de método mostra como usar a
AddConditionalFormatRuleRequest
para estabelecer novas regras de formatação condicional para o intervalo A1:D5 em uma planilha,
com base nos valores de data e texto nessas células. Se o texto tiver a string
"Custo" (não diferencia maiúsculas de minúsculas), a primeira regra define o texto da célula como negrito. Se o
célula contiver uma data que ocorreu antes da semana passada, a segunda regra definirá o
o texto da célula em itálico e a colore de azul. A solicitação usa o
ConditionType
que o type
do
BooleanRule
Confira o protocolo da solicitação abaixo.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4, } ], "booleanRule": { "condition": { "type": "TEXT_CONTAINS", "values": [ { "userEnteredValue": "Cost" } ] }, "format": { "textFormat": { "bold": true } } } }, "index": 0 } }, { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4, } ], "booleanRule": { "condition": { "type": "DATE_BEFORE", "values": [ { "relativeDate": "PAST_WEEK" } ] }, "format": { "textFormat": { "italic": true, "foregroundColor": { "blue": 1 } } } } }, "index": 1 } } ] }
Após a solicitação, a regra de formatação aplicada atualiza a página. Neste exemplo, a data atual é 26/09/2016:
Adicionar uma regra de fórmula personalizada a um intervalo
O seguinte
spreadsheets.batchUpdate
o exemplo de código de método mostra como usar a
AddConditionalFormatRuleRequest
para estabelecer uma nova regra de formatação condicional para o intervalo B5:B8 em uma planilha,
com base em uma fórmula personalizada. A regra calcula o produto da célula em
colunas A e B. Se o produto for maior do que 120, o texto da célula será definido como
negrito e itálico. A solicitação usa o
ConditionType
que o type
do
BooleanRule
Confira o protocolo da solicitação abaixo.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startColumnIndex": 2, "endColumnIndex": 3, "startRowIndex": 4, "endRowIndex": 8 } ], "booleanRule": { "condition": { "type": "CUSTOM_FORMULA", "values": [ { "userEnteredValue": "=GT(A5*B5,120)" } ] }, "format": { "textFormat": { "bold": true, "italic": true } } } }, "index": 0 } } ] }
Após a solicitação, a regra de formatação aplicada atualiza a página:
Excluir uma regra de formatação condicional
O seguinte
spreadsheets.batchUpdate
o exemplo de código de método mostra como usar a
DeleteConditionalFormatRuleRequest
para excluir a regra de formatação condicional com índice 0
na página especificada
por SHEET_ID.
Confira o protocolo da solicitação abaixo.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "deleteConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0 } } ] }
Ler a lista de regras de formatação condicional
O seguinte
Código do método spreadsheets.get
exemplo mostra como obter o título, SHEET_ID e a lista de todos
regras de formatação condicional para cada página de uma planilha. A consulta fields
determina quais dados retornar.
Confira o protocolo da solicitação abaixo.
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets(properties(title,sheetId),conditionalFormats)
A resposta consiste em um
Spreadsheet
, que
contém uma matriz de
Sheet
, cada um com
por
SheetProperties
e uma matriz de
ConditionalFormatRule
os elementos. Se um determinado campo de resposta for definido com o valor padrão, ele será omitido
da resposta. A solicitação usa o
ConditionType
que o type
do
BooleanRule
{ "sheets": [ { "properties": { "sheetId": 0, "title": "Sheet1" }, "conditionalFormats": [ { "ranges": [ { "startRowIndex": 4, "endRowIndex": 8, "startColumnIndex": 2, "endColumnIndex": 3 } ], "booleanRule": { "condition": { "type": "CUSTOM_FORMULA", "values": [ { "userEnteredValue": "=GT(A5*B5,120)" } ] }, "format": { "textFormat": { "bold": true, "italic": true } } } }, { "ranges": [ { "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4 } ], "booleanRule": { "condition": { "type": "DATE_BEFORE", "values": [ { "relativeDate": "PAST_WEEK" } ] }, "format": { "textFormat": { "foregroundColor": { "blue": 1 }, "italic": true } } } }, ... ] } ] }
Atualizar uma regra de formatação condicional ou a prioridade dela
O seguinte
spreadsheets.batchUpdate
o exemplo de código de método mostra como usar a
UpdateConditionalFormatRuleRequest
com várias solicitações. A primeira solicitação move um formato condicional existente
regra para um índice mais alto (de 0
para 2
, diminuindo a prioridade). A segunda
solicitação substitui a regra de formatação condicional no índice 0
por uma nova regra
que formata as células contendo o texto exato especificado ("Custo total") no
intervalo A1:D5. A movimentação da primeira solicitação é concluída antes do início da segunda. Portanto,
a segunda solicitação está substituindo a regra que estava originalmente no índice 1
. A
usa o
ConditionType
que o type
do
BooleanRule
Confira o protocolo da solicitação abaixo.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "updateConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0, "newIndex": 2 }, "updateConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0, "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4, } ], "booleanRule": { "condition": { "type": "TEXT_EQ", "values": [ { "userEnteredValue": "Total Cost" } ] }, "format": { "textFormat": { "bold": true } } } } } } ] }