Como converter planilhas eletrônicas para JSON, CSV, XML e outros formatos com o IronXL em C#

Como Converter Tipos de Arquivo de Planilha em C# com IronXL

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL permite que desenvolvedores C# convertam planilhas entre vários formatos, incluindo XLS, XLSX, CSV, JSON, XML e HTML usando métodos simples de Load e SaveAs, simplificando transformações de formato de arquivo em aplicativos de negócios.

IronXL suporta a conversão de arquivos de planilha entre vários formatos, incluindo XLS, XLSX, XLSM, XLTX, CSV, TSV, JSON, XML e HTML. Também suporta tipos de dados em código inline, como strings de HTML, dados binários, arrays de bytes, DataSets e MemoryStreams. O método Load é usado para abrir um arquivo de planilha, e o método SaveAs é usado para exportar a planilha para o tipo de arquivo desejado.

Essa flexibilidade torna o IronXL uma ferramenta essencial para desenvolvedores .NET trabalhando com arquivos Excel em C# em diferentes plataformas e aplicativos. Seja construindo ferramentas de migração de dados, sistemas de relatórios ou aplicativos de inteligência de negócios, a capacidade de converter perfeitamente entre formatos assegura a compatibilidade com diversos sistemas e requisitos de usuário.

Início rápido: Converter uma planilha Excel para JSON

Com uma simples linha de código, IronXL permite que você carregue um arquivo Excel e o exporte como JSON - sem configuração complexa, apenas resultados rápidos. É um exemplo perfeito para desenvolvedores que precisam de conversão de tipo de arquivo rápida.

  1. Instale IronXL com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronXl.Excel
  2. Copie e execute este trecho de código.

    IronXl.WorkBook.Load("input.xlsx").SaveAsJson("output.json");
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronXL em seu projeto hoje com uma avaliação gratuita

    arrow pointer


Como Converto Tipos de Arquivo de Planilha?

O processo de conversão de tipos de planilha envolve carregar um arquivo em um formato suportado e exportá-lo para outro formato utilizando as capacidades inteligentes de reestruturação de dados do IronXL. Este processo de conversão preserva a integridade dos dados enquanto se adapta aos requisitos estruturais de cada formato de destino.

Embora o método SaveAs possa ser usado para exportar para CSV, JSON, XML e HTML, é recomendável usar os métodos dedicados para cada formato de arquivo:

  • SaveAsCsv - Otimizado para valores separados por vírgula com escape adequado
  • SaveAsJson - Cria JSON devidamente formatado com preservação do tipo de dado
  • SaveAsXml - Gera XML bem formatado com esquema apropriado
  • ExportToHtml - Produz tabelas HTML estilizadas com formatação mantida

ObservePara formatos de arquivo CSV, TSV, JSON e XML, um arquivo separado será criado para cada planilha. A convenção de nomenclatura segue o formato fileName.sheetName.format. No exemplo abaixo, a saída para o formato CSV seria sample.new_sheet.csv.

:path=/static-assets/excel/content-code-examples/how-to/convert-spreadsheet-file-types-different-format.cs
using IronXL;

// Load the Excel spreadsheet
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Convert and save as CSV
workbook.SaveAsCsv("sample.csv");

// Convert and save as JSON
workbook.SaveAsJson("sample.json");

// Convert and save as XML
workbook.SaveAsXml("sample.xml");

// Convert and export to HTML
workbook.ExportToHtml("sample.html");

// The files will be saved in the project's directory with the specified formats
$vbLabelText   $csharpLabel

Cada método de exportação é otimizado para seu formato-alvo. Por exemplo, converter XLSX para CSV lida corretamente com caracteres especiais e delimitadores, enquanto a exportação JSON mantém tipos de dados e estruturas hierárquicas.

Quando devo usar cada formato?

Entender quando usar cada formato de arquivo é crucial para aplicações empresariais:

  • CSV/TSV: Melhor para dados tabulares simples, importações de banco de dados, ou quando você precisa de máxima compatibilidade com outros aplicativos
  • JSON: Ideal para serviços web, APIs REST, e aplicativos JavaScript modernos
  • XML: Adequado para troca de dados estruturados, arquivos de configuração e integração de sistemas legados
  • HTML: Perfeito para exibir dados em websites ou gerar relatórios para distribuição por e-mail

Quais opções avançadas de conversão estão disponíveis?

Na seção anterior, exploramos os formatos de arquivo mais comuns para conversão. No entanto, o IronXL tem a capacidade de converter planilhas para muitos outros formatos. Explore todas as opções disponíveis para carregar e exportar planilhas, incluindo cenários avançados como exportar para DataSet e DataTable para operações de banco de dados.

Quais formatos de arquivo posso carregar?

  • XLS, XLSX, XLSM e XLTX
  • CSV (Valores Separados por Vírgula)
  • TSV (Valores Separados por Tabulação)

Para quais formatos posso exportar?

  • XLS, XLSX e XLSM
  • CSV e TSV
  • JSON
  • XML
  • HTML
  • Tipos de dados em código inline:

    • String HTML
    • Array de Binário e Byte
    • DataSet: Exportar Excel em objetos System.Data.DataSet e System.Data.DataTable permite fácil interoperabilidade ou integração com DataGrids, SQL e EF.
    • MemoryStream

Os tipos de dados em código inline podem ser enviados como uma resposta de API RESTful ou usados com IronPDF para convertê-los em um documento PDF. Essa flexibilidade é particularmente útil ao criar planilhas dinamicamente em aplicações web.

:path=/static-assets/excel/content-code-examples/how-to/convert-spreadsheet-file-types-different-format-advanced.cs
using IronXL;

// Load the Excel spreadsheet
WorkBook workbook = WorkBook.Load("advanced_sample.xlsx");

// Convert and save to various formats
workbook.SaveAs("advanced_sample.xlsm");
workbook.SaveAsCsv("advanced_sample.csv");
workbook.SaveAsJson("advanced_sample.json");
workbook.SaveAsXml("advanced_sample.xml");
workbook.ExportToHtml("advanced_sample.html");

// You can also convert to binary or byte array for advanced uses
byte[] excelAsByteArray = workbook.ToBinary();
$vbLabelText   $csharpLabel

O código acima carrega um arquivo XLSX comum, depois converte e exporta para vários formatos. Para exemplos abrangentes de conversões de arquivos, visite nossa página de exemplos de conversão.

Como é a aparência da saída convertida?

Planilha de banco de dados de funcionários do Excel com dados de salário, demografia e localização em várias colunas
Arquivo XLSX

Os vários arquivos exportados são mostrados abaixo.

Arquivo TSV com dados de funcionários mostrando ID, nome, cargo, departamento, salário e colunas demográficas em editor de texto
Exportação de Arquivo TSV
Arquivo CSV com dados de funcionários mostrando ID, nome, cargo, departamento, salário e colunas de localização em editor de código
Exportação de Arquivo CSV
Editor VS Code mostrando arquivo de dados de funcionário em JSON com campos de cabeçalho e registros de amostra incluindo ID, nome, cargo
Exportação de Arquivo JSON
Arquivo XML mostrando estrutura de dados de funcionários com colunas para ID, nome, cargo, departamento e outros campos de RH
Exportação de Arquivo XML
Planilha de banco de dados de funcionários mostrando dados de pessoal, incluindo IDs, nomes, títulos, departamentos, demografia e compensação
Exportação de Arquivo HTML

Melhores práticas para conversão de arquivos

Ao converter arquivos de planilhas, considere estas melhores práticas para garantir resultados ideais:

  1. Preserve a Integridade dos Dados: Sempre verifique se os dados críticos, fórmulas e formatação são mantidos após a conversão. Alguns formatos, como CSV, não suportam várias planilhas ou formatação.

  2. Lide com Arquivos Grandes de Forma Eficiente: Para grandes planilhas, considere usar métodos de streaming ou processar dados em partes para gerenciar o uso de memória de forma eficaz.

  3. Tratamento de Erros: Implemente tratativas adequadas para capturar falhas de conversão:
try 
{
    WorkBook workbook = WorkBook.Load("input.xlsx");

    // Check if the file has data before converting
    if (workbook.WorkSheets.Count > 0 && workbook.DefaultWorkSheet.RowCount > 0)
    {
        workbook.SaveAsCsv("output.csv");
        Console.WriteLine("Conversion successful!");
    }
    else
    {
        Console.WriteLine("No data found in the spreadsheet.");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"Conversion failed: {ex.Message}");
}
try 
{
    WorkBook workbook = WorkBook.Load("input.xlsx");

    // Check if the file has data before converting
    if (workbook.WorkSheets.Count > 0 && workbook.DefaultWorkSheet.RowCount > 0)
    {
        workbook.SaveAsCsv("output.csv");
        Console.WriteLine("Conversion successful!");
    }
    else
    {
        Console.WriteLine("No data found in the spreadsheet.");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"Conversion failed: {ex.Message}");
}
$vbLabelText   $csharpLabel
  1. Escolha o Formato Correto: Selecione o formato de saída com base em suas necessidades específicas:

    • Use XLSX para total funcionalidade do Excel
    • Escolha CSV para troca de dados simples
    • Selecione JSON para aplicativos web e APIs
    • Escolha XML para dados estruturados com esquemas
    • Exporte para HTML para exibição na web
  2. Codificação de Caracteres: Preste atenção à codificação de caracteres, especialmente ao lidar com dados internacionais. O IronXL manipula a codificação UTF-8 por padrão, garantindo representação adequada de caracteres em diferentes sistemas.

Para orientações mais detalhadas sobre o trabalho com arquivos do Excel em aplicações .NET, explore a extensa documentação do IronXL.

Perguntas frequentes

Como faço para converter arquivos do Excel para o formato CSV em C#?

Com o IronXL, você pode converter arquivos do Excel para CSV usando o método SaveAsCsv. Basta carregar seu arquivo do Excel com WorkBook.Load() e, em seguida, chamar SaveAsCsv() para exportá-lo. O IronXL lida automaticamente com a formatação e o escape adequados, criando um arquivo CSV separado para cada planilha do seu arquivo do Excel.

Posso converter várias planilhas do Excel para JSON simultaneamente?

Sim, o IronXL converte automaticamente todas as planilhas ao exportar para o formato JSON. Ao usar o método SaveAsJson, o IronXL cria arquivos JSON separados para cada planilha, seguindo a convenção de nomenclatura nomeDoArquivo.nomeDaPlanilha.json, preservando os tipos de dados e a estrutura de cada planilha.

Quais formatos de arquivo de planilha são suportados para conversão?

O IronXL suporta a conversão entre vários formatos, incluindo XLS, XLSX, XLSM, XLTX, CSV, TSV, JSON, XML e HTML. Além disso, ele suporta tipos de dados de código embutido, como strings HTML, dados binários, arrays de bytes, DataSets e MemoryStreams, para máxima flexibilidade em seus aplicativos C#.

Como posso preservar a formatação do Excel ao converter para HTML?

Ao converter arquivos Excel para HTML, utilize o método ExportToHtml do IronXL em vez do genérico SaveAs. Esse método específico gera tabelas HTML formatadas que preservam a formatação do seu arquivo Excel original, garantindo que a apresentação dos seus dados permaneça consistente em todos os formatos.

É possível converter arquivos do Excel sem o Microsoft Office instalado?

Sim, o IronXL funciona de forma independente, sem exigir o Microsoft Office ou o Excel Interop. Ele oferece uma solução completa para conversão de arquivos Excel em C#, sendo ideal para ambientes de servidor e aplicações onde a instalação do Office não é viável.

Qual a maneira mais simples de converter um arquivo do Excel para outro formato?

A abordagem mais simples com o IronXL é usar uma única linha de código: IronXl.WorkBook.Load("input.xlsx").SaveAsJson("output.json"). Isso carrega seu arquivo Excel e o exporta imediatamente para o formato desejado — substitua SaveAsJson por SaveAsCsv, SaveAsXml ou ExportToHtml, conforme necessário.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 12
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 19
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Pronto para começar?
Nuget Downloads 1,890,100 | Versão: 2026.3 acaba de ser lançado

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 17
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 24
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronXl.Excel
executar um exemplo Veja seus dados se transformarem em uma planilha.