Pular para conteúdo

SHEETS_FORMAT - Formatar Células do Google Sheets

O que é este Node?

O SHEETS_FORMAT é o node responsável por aplicar formatação visual às células do Google Sheets: cores, bordas, negrito, alinhamento, número de decimais, etc.

Por que este Node existe?

Formatação torna planilhas mais legíveis e profissionais. O SHEETS_FORMAT existe para:

  1. Destacar Informações: Colorir linhas importantes ou status
  2. Organização Visual: Aplicar bordas e cores de cabeçalho
  3. Formatação de Dados: Definir formato de moeda, porcentagem, data
  4. Condicional: Formatar células baseado em valores

Como funciona internamente?

Quando o SHEETS_FORMAT é executado, o sistema:

  1. Autentica: Valida tokens OAuth2
  2. Prepara requests: Monta objeto de formatação (cores, fonte, bordas)
  3. Executa batchUpdate: Chama com requisições repeatCell ou updateCells
  4. Aplica formato: Modifica aparência mantendo valores
  5. Retorna confirmação: Informa sucesso da formatação

Código interno (baseado na API Google Sheets):

case 'format':
  const formatResult = await sheets.spreadsheets.batchUpdate({
    spreadsheetId: data.spreadsheetId,
    requestBody: {
      requests: [{
        repeatCell: {
          range: {
            sheetId: data.sheetId,
            startRowIndex: data.startRow,
            endRowIndex: data.endRow,
            startColumnIndex: data.startColumn,
            endColumnIndex: data.endColumn,
          },
          cell: {
            userEnteredFormat: {
              backgroundColor: data.backgroundColor,
              textFormat: {
                bold: data.bold,
                fontSize: data.fontSize,
              },
            },
          },
          fields: 'userEnteredFormat(backgroundColor,textFormat)',
        },
      }],
    },
  });

  return {
    success: true,
    message: 'Format applied successfully',
  };

Quando você DEVE usar este Node?

Use SHEETS_FORMAT quando precisar melhorar visualização e organização:

Casos de uso

  1. Cabeçalho: "Colorir primeira linha de cinza com texto em negrito"
  2. Status Visual: "Pintar linha de verde se 'Concluído', vermelho se 'Pendente'"
  3. Relatórios: "Formatar valores como moeda R$"
  4. Destaque: "Negrito e sublinhado em totais"

Quando NÃO usar SHEETS_FORMAT

  • Alterar valores: Use NODE SHEETS_WRITE ou SHEETS_UPDATE
  • Estrutura de dados: Formatação é visual, não afeta cálculos

Parâmetros

Campo Tipo Obrigatório Descrição
operation string Sim Deve ser "format"
spreadsheetId string Sim ID da planilha
sheetId number Sim ID da aba
startRow number Sim Linha inicial (base 0)
endRow number Sim Linha final exclusiva (base 0)
startColumn number Sim Coluna inicial (base 0)
endColumn number Sim Coluna final exclusiva (base 0)
backgroundColor object Não Cor RGB:
bold boolean Não Negrito
fontSize number Não Tamanho da fonte
accessToken string Sim Token OAuth2
refreshToken string Sim Token OAuth2 refresh

Exemplo 1: Formatar Cabeçalho

Objetivo: Aplicar estilo ao cabeçalho da tabela

JSON para Importar

{
  "name": "Formatar Cabeçalho",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "sheets_1",
      "type": "google_sheets",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Formatar Header",
        "parameters": {
          "operation": "format",
          "spreadsheetId": "1ABC_Data_XYZ",
          "sheetId": 0,
          "startRow": 0,
          "endRow": 1,
          "startColumn": 0,
          "endColumn": 5,
          "backgroundColor": {
            "red": 0.2,
            "green": 0.2,
            "blue": 0.2
          },
          "bold": true,
          "fontSize": 12,
          "accessToken": "{{google_access_token}}",
          "refreshToken": "{{google_refresh_token}}"
        }
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Confirmar",
        "parameters": {
          "message": "✅ Cabeçalho formatado com sucesso"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 700, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "sheets_1" },
    { "source": "sheets_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Saída esperada:

Sistema: ✅ Cabeçalho formatado com sucesso

Resposta do Node

{
  "success": true,
  "message": "Format applied successfully"
}

Boas Práticas

SIM: - Use cores sutis para melhor leitura - Formate cabeçalhos consistentemente - Use negrito para destacar informações importantes - Valores RGB entre 0 e 1 (não 0-255)

NÃO: - Não abuse de cores (atrapalha leitura) - Não confunda índices base 0 com números visuais - Não formate células desnecessariamente

Dicas

💡 Dica 1: Cores RGB na API Google Sheets usam valores 0-1, não 0-255. Exemplo: vermelho = {red: 1, green: 0, blue: 0}

💡 Dica 2: Combine formatação com dados: primeiro escreva com SHEETS_WRITE, depois formate com SHEETS_FORMAT.

Próximo Node

SHEETS_WRITE - Escrever dados primeiro → SHEETS_BATCH_UPDATE - Múltiplas operações