Pular para o conteúdo

Converter Excel em XML

Transforme uma planilha em XML bem formado para importações, feeds e integrações — nomes de elementos tirados dos seus cabeçalhos, valores tipados e os nomes de raiz e de linha que você escolher.

  • Nunca armazenado
  • Sem fila, sem espera
  • Sem cadastro, sem marca d'água

Como funciona

1

Adicione sua planilha

Solte um arquivo .xlsx, .xls ou .ods e escolha a aba, com uma pré-visualização ao vivo do XML.

2

Dê nome aos elementos

Defina os nomes dos elementos raiz e de linha, valores brutos ou exibidos, e o que fazer com células vazias.

3

Copie ou baixe

Copie o XML ou salve como um arquivo .xml.

Uma grade descrita como árvore

Cada aba vira um elemento repetido por linha, com um elemento filho por coluna nomeado a partir da linha de cabeçalho — é isso que torna o resultado legível para qualquer coisa que espere XML de dados em vez de uma planilha. No caminho, os nomes das colunas precisam virar nomes de elementos válidos, e o XML é mais rígido que um cabeçalho de planilha: um nome não pode começar com dígito, não pode ter espaços nem a maioria dos sinais de pontuação, e diferencia maiúsculas de minúsculas. Então “Total do pedido (R$)” vira algo mais arrumado, e dois cabeçalhos que só diferem na pontuação podem acabar precisando ser diferenciados.

O que vai para o XML são valores, não aparência. Uma célula que mostra R$ 1.234,50 fica guardada na planilha como o número 1234.5 com um formato aplicado, e é o número que vai para o XML — o que quase sempre está certo, já que o sistema que vai consumir o arquivo quer o valor, e não o símbolo da moeda. As fórmulas somem da mesma forma: o que você recebe é o resultado da fórmula, porque o XML não tem onde guardar a fórmula em si. Cores, fontes, bordas, formatação condicional, gráficos e imagens simplesmente não têm representação aqui.

As datas são o ponto a conferir. Uma planilha guarda uma data como um número de dias desde uma data de referência e a exibe por meio de um formato, então uma data pode sair como 45356 em vez de uma data, dependendo de como a célula foi configurada. Se as datas importam para quem vai ler o XML, confira antes de confiar no arquivo — e considere formatá-las como texto na planilha antes, o que elimina a ambiguidade de vez.

Os cinco caracteres reservados do XML — e comercial, sinais de menor e maior e aspas — são escapados nos valores, então textos que os contêm chegam intactos. Células vazias geram elementos vazios em vez de serem omitidas, o que mantém todos os registros com o mesmo formato e deixa o resultado muito mais fácil de processar do que um em que campos ausentes simplesmente desaparecem. Planilhas protegidas por senha precisam ter a senha removida antes.

Quando você precisa de outra coisa

Quando o XML precisa seguir um esquema específico — um formato do setor, uma declaração ao governo, o formato de importação de um sistema —, uma conversão genérica não vai produzi-lo, e nenhuma configuração aqui vai conseguir também. Esse é um trabalho de mapeamento: XSLT transforma este resultado no formato exigido, e xmllint --schema valida o resultado antes de você enviá-lo.

Para qualquer coisa repetitiva, use um script. As bibliotecas openpyxl e pandas do Python leem uma planilha e gravam o XML que você especificar, com controle sobre como datas e números são representados, que é a parte que importa. E vale perguntar se XML é mesmo o destino — a maioria dos sistemas construídos nesta década prefere JSON ou CSV, e o XML costuma ser uma exigência herdada de algo mais antigo.

Perguntas frequentes

Como fica o XML?

Um elemento por linha, com um elemento filho por coluna com o nome do cabeçalho: <rows><row><Name>Ada</Name><Joined>2024-03-15</Joined></row>…</rows>. Você escolhe os nomes da raiz e da linha, e várias abas podem ser exportadas juntas, cada uma dentro do seu próprio elemento.

Meus cabeçalhos têm espaços e símbolos — isso é um problema?

Não. Os cabeçalhos são transformados em nomes XML válidos: “First Name” vira First_Name, “2024 Sales” vira _2024_Sales, e cabeçalhos duplicados são numerados, então o resultado é sempre bem formado.

Como datas e números são gravados?

Os valores brutos geram números simples e datas ISO 8601 (2024-03-15, 14:30:00) que qualquer sistema consegue interpretar. Os valores exibidos gravam exatamente o texto que o Excel mostra, com a formatação.

O que é XML Spreadsheet 2003?

Um formato XML que o Excel abre diretamente, mantendo todas as abas com seus números, datas e texto. Escolha esse formato quando um sistema pedir “Excel XML” em vez do seu próprio XML de dados.

Minha planilha fica armazenada em algum lugar?

Não. A planilha é lida e o XML é gerado aqui; nada é enviado a lugar nenhum e nada fica armazenado.

O que acontece com fórmulas e formatação?

As fórmulas são gravadas como seus valores calculados. Formatação, gráficos e imagens não fazem parte de um XML de dados.

Bom saber: XML de dados leva apenas valores — nada de formatação, gráficos ou imagens. Planilhas protegidas por senha precisam ter a senha removida antes.

Coloque esta ferramenta no seu site

Grátis para qualquer blog, página de turma ou artigo de ajuda. Cole um único trecho de código e seus visitantes podem usá-la direto na sua página.