Converter Excel para XML: ferramentas gratuitas + automação com Python

2025-11-14 07:15:53 zaki zou

Aprenda três maneiras fáceis de converter Excel para XML

Se você está trabalhando com dados que precisam ser compartilhados entre softwares, APIs ou sites, converter Excel para XML é uma habilidade crucial. XML (Extensible Markup Language) é um formato universal e legível por máquina, ideal para intercâmbio de dados, enquanto o Excel se destaca na organização de planilhas. Superar a lacuna entre eles permite que seus dados fluam perfeitamente entre plataformas.

Seja você um iniciante em busca de uma solução rápida, um analista garantindo a integridade dos dados ou um desenvolvedor construindo um pipeline automatizado, este guia o guiará por três métodos eficazes e sem erros de conversão de Excel para XML.


Por que converter Excel para XML?

O valor principal da conversão de Excel para XML reside em:

  • Compatibilidade entre Plataformas: O XML funciona com APIs, plataformas de CMS (WordPress, Shopify), ferramentas empresariais (SAP, Salesforce) e linguagens de programação (Python, Java).
  • Dados Estruturados: O XML preserva as linhas/colunas do Excel como elementos marcados (por exemplo, <produto><nome>Laptop</nome><preco>999</preco></produto>), facilitando a análise por software.
  • Integridade dos Dados: O XML evita problemas de formatação que afetam os arquivos do Excel (por exemplo, fórmulas quebradas, células mescladas) quando compartilhados entre sistemas.
  • Casos de Uso: Feeds de produtos de e-commerce, exportações de dados de API, importações de conteúdo de CMS e integração de dados empresariais.

Estruturando Dados do Excel para uma Conversão Bem-Sucedida

O primeiro e mais crítico passo acontece no Excel. Uma planilha de origem bem estruturada garante uma conversão tranquila.

  • Use cabeçalhos de coluna curtos e únicos (sem espaços/caracteres especiais — por exemplo, "NomeProduto" em vez de "Nome do Produto").
  • Remova linhas/colunas vazias (elas causam erros de validação XML).
  • Garanta tipos de dados consistentes (por exemplo, todos os preços como números, datas em um formato uniforme).
  • Evite células mescladas ou fórmulas complexas; use dados brutos em vez disso.

Método 1: Conversão Manual de Excel para XML (Guia de Desenvolvedor Integrada)

A Guia de Desenvolvedor integrada do Excel oferece suporte nativo para tarefas XML, tornando-a acessível a usuários do Excel sem conhecimento de programação.

Guia Passo a Passo:

Passo 1: Prepare Seus Dados do Excel

Estruture seus dados em um formato tabular claro. A primeira linha deve conter os cabeçalhos das colunas, que se tornarão suas tags XML. Para este exemplo, vamos usar uma lista de produtos simples:

Exemplo de planilha do Excel mostrando dados de produtos.

Passo 2: Crie um Esquema XML

Um esquema XML (arquivo .xsd) define a estrutura da sua saída XML. Ele especifica quais tags usar e como elas se relacionam.

Exemplo de Esquema (salve como “produtos.xsd” no seu computador):

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Catalog">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Product" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ID" type="xs:integer"/>
              <xs:element name="ProductName" type="xs:string"/>
              <xs:element name="Category" type="xs:string"/>
              <xs:element name="Price" type="xs:decimal"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
  • Ajuste os atributos de nome para corresponder aos cabeçalhos das colunas do Excel (sensível a maiúsculas e minúsculas).
  • Use tipos apropriados (por exemplo, xsd:integer para números, xsd:string para texto).

Passo 3: Adicione o Esquema ao Excel

  1. Abra seu arquivo do Excel.
  2. Vá para a guia Desenvolvedor. (Se não a vir, vá para Arquivo > Opções > Personalizar Faixa de Opções, marque "Desenvolvedor" e clique em "OK".)
  3. Na guia Desenvolvedor, clique em Fonte para abrir o painel Fonte XML.
  4. Clique em Mapas XML... e depois em Adicionar....
  5. Anexe o arquivo de esquema .xsd que você criou usando a caixa de diálogo Mapas XML

Interface da guia Desenvolvedor do Excel mostrando o painel Fonte XML e a caixa de diálogo Mapas XML.

Passo 4: Mapeie os Elementos XML para Suas Células

  1. No painel Fonte XML, você verá seus elementos (“Catalogo”, “Produto”, “ID”, etc.).
  2. Arraste o elemento “Produto” e solte-o na célula A1. O Excel criará uma tabela bem formatada.
  3. Os elementos agora estarão mapeados. Seus dados estão prontos para exportação.

Planilha do Excel com elementos XML mapeados para os cabeçalhos das colunas.

Passo 5: Exporte para XML

  1. Com seus dados mapeados selecionados, volte para a guia Desenvolvedor.
  2. Clique em Exportar.
  3. Escolha um local e um nome para o seu novo arquivo XML e clique em OK.

O arquivo XML exportado corresponderá ao seu esquema, assim:

Arquivo XML resultante exibido em um navegador.

Você também pode gostar: Converta XLS/XLSX para HTML Facilmente — Mantenha a Formatação do Excel Intacta


Método 2: Conversores Online Gratuitos de Excel para XML

Se você precisa de uma conversão rápida e única sem a configuração técnica, as ferramentas online são suas melhores amigas.

Principais ferramentas para converter Excel em XML online (100% grátis, sem necessidade de inscrição):

1. CloudxDocs (Mais Amigável)

  • Acesse o conversor CloudxDocs EXCEL PARA XML.
  • Envie seu arquivo do Excel (suporta XLS, XLSX, XLSB).
  • Aguarde a conclusão da conversão e baixe seu arquivo XML.

Este conversor produz por padrão um arquivo de Planilha XML que preserva a formatação do Excel.

Converta Excel para XML online usando o conversor CloudxDocs.

2. WizlyTools (Suporta XML Personalizado)

  • Acesse o conversor de Excel para XML da WizlyTools.
  • Envie um arquivo do Excel (.xlsx, .xls).
  • Insira o nome do elemento raiz e o nome do elemento de linha.
  • Selecione o tamanho da indentação para sua saída XML.
  • Clique em "Converter para XML" e copie ou baixe o XML resultante

Este conversor oferece mais controle sobre a estrutura XML, como definir um elemento raiz específico, um elemento de linha e permite visualizar o XML antes de baixar

Página do conversor WizlyTools com opções para definir os elementos raiz e de linha do XML.

Nota: Evite enviar dados sensíveis (por exemplo, registros financeiros) para ferramentas online. Use métodos manuais para arquivos confidenciais.


Método 3: Automatizar a Conversão de Excel para XML em Python

Para desenvolvedores e profissionais de TI que trabalham com Python, o Spire.XLS for Python oferece uma solução robusta e orientada por código para converter planilhas do Excel em XML sem a necessidade de instalar o Microsoft Excel. Isso é ideal para automação do lado do servidor e integração de aplicativos.

Passo 1: Instalação

Primeiro, você precisa instalar a biblioteca Spire.XLS for Python. Ela está disponível via PyPI.

pip install Spire.XLS

Passo 2: Escreva o Script Python

Este script usa o Spire.XLS para ler dados do Excel e, em seguida, gera XML com o xml.etree.ElementTree (para estrutura) e o minidom (para formatação bonita) integrados do Python.

from spire.xls import *
import xml.etree.ElementTree as ET
from xml.dom import minidom

# Load the Excel file
workbook = Workbook()
workbook.LoadFromFile("Orders.xlsx")

# Get the first worksheet
worksheet = workbook.Worksheets[0]

# Get row and column counts (Spire.XLS uses 1-based indexing)
max_row = worksheet.LastRow
max_col = worksheet.LastColumn

# Check if data exists (headers in row 1, data in row 2+)
if max_row < 2:
    raise ValueError("No data found! Ensure headers are in row 1 and data starts in row 2.")

# Create XML root element
root = ET.Element("Info")

# Loop through data rows (skip row 1: headers)
for row in range(2, max_row + 1):
    # Create a row element (e.g., <Order>)
    row_element = ET.SubElement(root, "Order")

    # Loop through columns to get headers and values
    for col in range(1, max_col + 1):
        # Get header (XML tag)
        header = worksheet.Range[1, col].Value

        # Get cell value (data for the XML tag)
        cell_value = worksheet.Range[row, col].Value

        # Create sub-element and add value
        ET.SubElement(row_element, header).text = str(cell_value)

# Pretty-print XML (add indentation for readability)
rough_string = ET.tostring(root, 'utf-8')
reparsed = minidom.parseString(rough_string)
pretty_xml = reparsed.toprettyxml(indent="  ")

# Save to XML file
with open("Orders.xml", 'w', encoding='utf-8') as f:
    f.write(pretty_xml)

# Close the workbook
workbook.Dispose()

Explicação do Código:

  • Carregar Arquivo Excel: Usa o Spire.XLS para abrir um arquivo do Excel e acessar sua primeira planilha.
  • Definir Intervalo de Dados: Encontra a última linha e coluna com dados (indexação baseada em 1 no Spire.XLS) para saber os limites dos dados.
  • Construir Estrutura XML:
    • Cria um elemento XML raiz <Info>.
    • Percorre cada linha de dados (a partir da linha 2), criando um elemento <Pedido> para cada uma.
    • Para cada coluna na linha: Use o cabeçalho da linha 1 como a tag XML e o valor da célula como o conteúdo da tag.
  • Salvar XML: Formata o XML com indentação (para legibilidade) e o salva em um arquivo XML.

Exemplo de Saída XML

Converta Excel para um arquivo XML estruturado usando Python

O Spire.XLS for Python também fornece um método direto SaveAsXml() para converter Excel para o formato Open XML.


Considerações Finais

Converter Excel para XML é uma habilidade fundamental que libera o verdadeiro potencial dos seus dados, permitindo que eles fluam perfeitamente para aplicativos da web, arquivos de configuração e outros sistemas de negócios. Ao entender os métodos disponíveis, desde o poder controlado dos Mapas XML do Excel até a facilidade rápida das ferramentas online e a força industrial do scripting em Python, você pode escolher a ferramenta certa para cada trabalho.


Perguntas Frequentes Sobre a Conversão de Excel para XML

P1: Como faço para converter em lote vários arquivos do Excel para XML de uma só vez?

A conversão em lote economiza tempo para mais de 10 arquivos — use estes métodos com base no seu nível de habilidade:

  • Ferramentas online: O Zamzar suporta até 50 arquivos por lote (envie todos os arquivos do Excel, selecione “XML” como saída e obtenha um zip dos XMLs).
  • Spire.XLS for Python: Estenda o script fornecido para percorrer uma pasta
import os
from spire.xls import *
import xml.etree.ElementTree as ET
from xml.dom import minidom

input_folder = "C:/Excel_Batch"
output_folder = "C:/XML_Batch"
os.makedirs(output_folder, exist_ok=True)

for filename in os.listdir(input_folder):
    if filename.endswith((".xlsx", ".xls")):
        workbook = Workbook()
        workbook.LoadFromFile(os.path.join(input_folder, filename))
        # Add conversion logic (same as single file) here
        workbook.Dispose()

P2: Posso personalizar a estrutura XML (por exemplo, alterar as tags raiz/linha)?

Sim, todos os métodos suportam personalização:

  • Manual: Edite o esquema XML (arquivo .xsd) para alterar as tags raiz (por exemplo, <Catalogo>) ou de linha (por exemplo, <Produto>).
  • Online: Ferramentas como o WizlyTools permitem que você defina os nomes dos elementos raiz/linha nas configurações.
  • Python: Modifique as linhas ET.Element("NomeRaiz") e ET.SubElement(root, "NomeLinha") do script para atender às suas necessidades.

P3: Meus dados têm fórmulas. A saída XML conterá a fórmula ou o valor calculado?

Em quase todos os casos, a exportação XML conterá o valor calculado (o resultado da fórmula), não a fórmula em si. O XML é principalmente um formato para representar dados, não a lógica ou os cálculos por trás deles. O processo de conversão lê os valores visíveis das células.

P4: Meu arquivo XML parece bagunçado quando o abro. Como posso formatá-lo corretamente?

O XML gerado por esses métodos geralmente está em um formato compactado, sem quebras de linha ou indentação. Isso ainda é um XML válido. Para visualizá-lo em um formato legível:

  • Abra o arquivo em um navegador da web moderno (Chrome, Firefox, Edge), que o formatará e exibirá automaticamente de forma organizada.
  • Use um editor de código como VS Code, Notepad++, ou Sublime Text, que possuem formatação XML integrada ou plugins para reindentar o código.

Veja Também