Entendendo formato de estrela na prática
Eu sempre tive dificuldade com formato de estrela quando precisava padronizar planilhas para entrega de relatórios. O formato foi criado como uma maneira de alinhar dados em colunas com campos de largura variável, mas a implementação padrão dos editores mais usados no Brasil não lida bem com caracteres especiais e acentuação. Isso causa problemas sérios de quebra de layout quando você exportou uma vez e precisa validar novamente. O formato de estrela, conhecido tecnicamente como star format ou formato de exportação estruturado, serve para transformar tabelas em arquivos texto delimitados por asteriscos e quebras de linha controladas. Não é um formato proprietário -- é essencialmente texto puro com regras de preenchimento. O problema é que a maioria das pessoas tenta aplicar a lógica inversa: converte o arquivo gerado de volta sem respeitar os espaços de preenchimento e acaba perdendo dados no processo.
Como criar um arquivo formato de estrela do zero
Aqui está o passo a passo que eu uso hoje, depois de ter gasto semanas tentado ferramentas automatizadas que só pioravam a situação. Primeiro, monte sua tabela no formato desejado. Cada linha vira um registro, cada coluna é um campo fixo ou variável. A parte que todo mundo erra é o controle dos delimitadores. Os asteriscos entram nos cantos superior esquerdo, superior direito, inferior esquerdo e inferior direito. Não é só decorar o começo e o fim da tabela -- você precisa definir onde cada registro começa e termina dentro do bloco.
Segundo, defina o tamanho de cada campo. Se um campo de código de produto tem 8 caracteres fixos, tudo que estiver acima disso precisa ser truncado, e tudo que estiver abaixo precisa ser preenchido com espaços à direita. Eu costumava usar a função PAD da planilha, mas depois migrei para uma macros simples em VBA que processa isso em lote -- leva cerca de 30 segundos para 5.000 registros, contra uns 15 minutos fazendo manualmente. Terceiro, a quebra de registro. Cada linha nova marca o fim de um registro. Dentro de cada registro, os campos são separados por vírgula ou ponto e vírgula, dependendo da especificação do sistema receptor. A grande armadilha aqui é que alguns sistemas aceitam apenas vírgula, outros apenas ponto e vírgula. Se você não verificar isso antes de enviar, o arquivo volta rejeitado e você perde tempo refazendo tudo.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Problema real que eu encontrei
Em 2023, precisei gerar um lote de 12.000 registros formato de estrela para uma integração com um sistema legado de um cliente do setor financeiro. O problema era que o campo de data estava no padrão americano (MM/DD/AAAA) mas o sistema receptor esperava dia/mês/ano. Quando eu gerei o arquivo pela primeira vez, cerca de 40% dos registros vieram com datas ilegíveis. O sistema simplesmente descartava esses registros silenciosamente -- não dava erro, não avisava, só não processava. O workaround que eu encontrei foi rodar um pré-processamento em Python usando a biblioteca pandas, convertendo todas as datas para string no formato correto antes de montar o bloco de texto final. O script levou dois dias para ficar estável, mas depois rodou em menos de 4 minutos para lotes daquela magnitude. A lição prática: nunca confie na formatação nativa de data das planilhas quando for gerar formato de estrela. Sempre force a conversão para string antes de escrever o arquivo.
Validação do arquivo gerado
Antes de enviar qualquer arquivo formato de estrela, faça esta verificação básica: abra o arquivo em um editor de texto puro, como Notepad++ ou VS Code, e ative a visualização de espaços e caracteres invisíveis. Você vai conseguir ver imediatamente se há campos truncados, espaços extras ou linhas duplicadas. Leva uns 5 minutos e evita horas de dor de cabeça depois. Uma verificação mais avançada é rodar um script de validação que conta o número de campos por linha e compara com o cabeçalho esperado. Se uma linha tiver mais campos do que deveria, provavelmente houve uma quebra de parágrafo dentro de um campo que não foi tratada corretamente. Esse é um dos erros mais sutis e mais comuns.
Padroes de entrega e compatibilidade
Quando eu trabalho com formatos de estrela hoje, eu mantenho um arquivo de especificação ao lado de cada entrega -- um documento simples em texto que descreve o tamanho de cada campo, o tipo de dado, o delimitador usado e a codificação de caractere. Isso evita confusão quando o arquivo volta com problema e você precisa decidir se o erro foi na geração ou na interpretação do sistema receptor. Sem essa documentação, fica praticamente impossível saber quem é o responsável pelo bug. A codificação também merece atenção. A maioria dos sistemas legados no Brasil ainda espera ANSI ou UTF-8 sem BOM. Se você salvar como UTF-8 com BOM, o arquivo começa com três bytes invisíveis que quebram a leitura do sistema receptor. Dica prática: ao salvar em qualquer editor moderno, verifique explicitamente a opção de codificação e desmarque BOM se estiver disponível.
Alternativas quando formato de estrela não funciona
Se o sistema receptor é moderno e suporta JSON ou CSV com delimitador personalizável, eu sempre recomendo usar essas alternativas em vez de formato de estrela. O formato de estrela é útil quando você precisa lidar com sistemas antigos que não oferecem outra opção, mas ele carrega uma complexidade desnecessária em contextos mais recentes. O tempo gasto gerando e validando um arquivo formato de estrela correto pode ser economizado usando CSV bem estruturado em 80% dos casos. Para arquivos pequenos, abaixo de 500 registros, até mesmo uma transferência manual campo a campo num formulário web pode ser mais rápido do que configurar todo o pipeline de geração formato de estrela. O formato só faz sentido economicamente em volume médio a alto ou quando a integração é automática e recorrente.