Como Converter XLSX para CSV, JSON, XML e mais em C#

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

IronXL converte arquivos Excel para múltiplos formatos, incluindo JSON, CSV, XML, e formatos Excel antigos como XLS, usando comandos simples de uma linha que eliminam a análise manual.

IronXL converte qualquer arquivo Excel em vários formatos, fornecendo aos desenvolvedores ferramentas para trabalhar com Excel em C# sem Interop. Seja migrando dados entre sistemas, criando exportações de dados para aplicações web, ou integrando com sistemas legados, o IronXL simplifica o processo de conversão.

Esses formatos incluem: JSON para APIs web modernas, CSV para intercâmbio de dados, XML para armazenamento de dados estruturados, e formatos Excel antigos como XLS para compatibilidade com versões anteriores. Cada formato atende a casos de uso específicos—CSV funciona bem para importações de banco de dados, JSON integra-se com APIs REST, e XML mantém relações de dados hierárquicas.

Este artigo demonstra como usar o IronXL para converter para XML, CSV, JSON, e exportar planilhas Excel como datasets para integração direta com controles de dados do .NET.

Início Rápido: Converta um arquivo XLSX para CSV com uma linha

Este exemplo mostra como o IronXL converte um caderno Excel existente em um arquivo CSV em uma linha. Carregue seu caderno e salve-o diretamente como CSV para começar imediatamente.

  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").SaveAsCsv("output.csv");
  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

Passo 1

Como Instalo a Biblioteca IronXL?

Primeiro, instale o IronXL antes de usá-lo em suas aplicações. IronXL suporta .NET MAUI, Blazor, e aplicações .NET tradicionais. Use qualquer um desses métodos de instalação:

Baixar: https://ironsoftware.com/csharp/excel/docs/

Ou use o Gerenciador de Pacotes NuGet:

  • Clique com o botão direito no nome da Solução no Explorador de Soluções
  • Clique em Gerenciar Pacotes NuGet
  • Pesquise por IronXl.Excel
  • Instalar
Install-Package IronXl.Excel

Tutorial de Como Fazer

Como posso converter arquivos Excel para diferentes formatos?

IronXL fornece capacidades de conversão que lidam automaticamente com a análise e formatação complexa.

Adicione o seguinte código:

:path=/static-assets/excel/content-code-examples/how-to/csharp-convert-xlsx-csv-convert.cs
using IronXL;

// Load an existing Excel workbook
WorkBook workbook = WorkBook.Load("Normal_Excel_File.xlsx");

// Set metadata title for the workbook
workbook.Metadata.Title = "Normal_Excel_File.xlsx";

// Save the workbook in different formats
workbook.SaveAs("XLS_Export.xls");
workbook.SaveAs("XLSX_Export.xlsx");
workbook.SaveAsCsv("CSV_Export.csv");
workbook.SaveAsJson("JSON_Export.json");
workbook.SaveAsXml("XML_Export.xml");

// Convert the workbook to a DataSet, allowing integration with other data tools like DataGridView
System.Data.DataSet dataSet = workbook.ToDataSet();
$vbLabelText   $csharpLabel

O código acima carrega um arquivo XLSX, adiciona um Título, e depois o converte para vários formatos. Ao converter para CSV, o IronXL lida com caracteres especiais, células de várias linhas e escapamento adequado. Para exportações JSON, ele cria uma representação de objeto estruturado dos dados da sua planilha. A conversão para XML preserva a formatação das células e tipos de dados. Finalmente, ele exporta a Planilha como um DataSet para uso com objetos DataGridView, o que funciona bem quando trabalhando com DataTables.

Aqui está outro exemplo mostrando como converter planilhas específicas com opções personalizadas:

using IronXL;

// Load workbook and select specific worksheet
WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");
WorkSheet sheet = workbook.WorkSheets["SalesData"];

// Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter: ";");

// Export to JSON with formatting preserved
var jsonOptions = new JsonSaveOptions
{
    PreserveFormatting = true,
    IncludeHeaders = true
};
sheet.SaveAsJson("SalesData.json", jsonOptions);

// Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport");
using IronXL;

// Load workbook and select specific worksheet
WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");
WorkSheet sheet = workbook.WorkSheets["SalesData"];

// Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter: ";");

// Export to JSON with formatting preserved
var jsonOptions = new JsonSaveOptions
{
    PreserveFormatting = true,
    IncludeHeaders = true
};
sheet.SaveAsJson("SalesData.json", jsonOptions);

// Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport");
$vbLabelText   $csharpLabel

Para cenários avançados, você pode exportar para múltiplos formatos simultaneamente ou lidar com arquivos grandes de forma eficiente:

using IronXL;
using System.Threading.Tasks;

// Async conversion for large files
public async Task ConvertLargeFileAsync(string inputPath)
{
    WorkBook workbook = WorkBook.Load(inputPath);

    // Parallel export to multiple formats
    var tasks = new[]
    {
        Task.Run(() => workbook.SaveAsCsv("output.csv")),
        Task.Run(() => workbook.SaveAsJson("output.json")),
        Task.Run(() => workbook.SaveAsXml("output.xml"))
    };

    await Task.WhenAll(tasks);
}
using IronXL;
using System.Threading.Tasks;

// Async conversion for large files
public async Task ConvertLargeFileAsync(string inputPath)
{
    WorkBook workbook = WorkBook.Load(inputPath);

    // Parallel export to multiple formats
    var tasks = new[]
    {
        Task.Run(() => workbook.SaveAsCsv("output.csv")),
        Task.Run(() => workbook.SaveAsJson("output.json")),
        Task.Run(() => workbook.SaveAsXml("output.xml"))
    };

    await Task.WhenAll(tasks);
}
$vbLabelText   $csharpLabel

Os diversos arquivos exportados são mostrados abaixo.

Exportação de arquivo CSV mostrando valores separados por vírgula em um editor de texto com dados devidamente escapados
Figura 1 - Exportação de Arquivo CSV
Exportação XML exibindo estrutura hierárquica com elementos e atributos devidamente formatados representando dados do Excel
Figura 2 - Exportação XML
Exportação JSON mostrando dados estruturados no formato de notação de objeto JavaScript com aninhamento e tipos de dados apropriados
Figura 3 - Exportação JSON
Exportação XLS aberta no Microsoft Excel mostrando compatibilidade com formato Excel mais antigo enquanto preserva a formatação
Figura 4 - Exportação XLS
Arquivo Excel XLSX original mostrando dados de origem com múltiplas colunas e formatação antes da conversão para vários formatos
Figura 5 - Entrada Excel para todas as exportações

Cada formato de conversão serve a diferentes propósitos em aplicações modernas. Arquivos CSV funcionam bem para importação de dados em bancos de dados ou ferramentas de análise de dados. O formato JSON é adequado para APIs da Web e aplicações JavaScript. XML mantém a estrutura de dados e é comumente usado em sistemas empresariais. O formato XLS legado garante compatibilidade com versões mais antigas do Excel e sistemas que requerem compatibilidade retroativa.

Quando se trabalha com essas conversões, o IronXL lida automaticamente com muitas complexidades:

  • Codificação de Caracteres: Codificação UTF-8 adequada para caracteres internacionais
  • Preservação do Tipo de Dados: Mantém a formatação numérica, de data e texto
  • Avaliação de Fórmulas: Calcula os resultados das fórmulas antes da exportação
  • Manuseio de Arquivos Grandes: Uso eficiente de memória para planilhas grandes
  • Tratamento de Erros: Tratamento gracioso de arquivos corrompidos ou protegidos

Para aplicações que exigem alto desempenho ou lidam com limites de tamanho de arquivo, o IronXL oferece opções de otimização. Você pode integrar essas conversões em fluxos de trabalho automatizados, serviços web ou aplicações desktop.


Acesso rápido à biblioteca

### Documentação de Referência da API IronXL

Saiba mais e compartilhe como mesclar, desmesclar e trabalhar com células em planilhas do Excel usando a prática Documentação de Referência da API IronXL.

Documentação de Referência da API IronXL
Documentation related to Como posso converter arquivos Excel para diferentes formatos?

Perguntas frequentes

Como faço para converter um arquivo XLSX para CSV em C# sem o Excel instalado?

O IronXL permite converter arquivos XLSX para CSV com uma única linha de código: IronXl.WorkBook.Load("input.xlsx").SaveAsCsv("output.csv"). Isso funciona sem a necessidade de ter o Microsoft Excel ou o Interop instalados no seu sistema.

Para quais formatos de arquivo posso converter arquivos do Excel usando C#?

O IronXL suporta a conversão de arquivos Excel para diversos formatos, incluindo CSV, JSON, XML, TSV e formatos Excel mais antigos, como XLS. Cada formato é ideal para diferentes casos de uso: CSV para importação de bancos de dados, JSON para APIs REST e XML para manter estruturas de dados hierárquicas.

Como faço para instalar a biblioteca de conversão do Excel para C#?

Instale o IronXL usando o Gerenciador de Pacotes NuGet, pesquisando por 'IronXl.Excel' ou através do Console do Gerenciador de Pacotes com o comando 'Install-Package IronXL'. A biblioteca é compatível com aplicações .NET MAUI, Blazor e .NET tradicionais.

Posso converter um arquivo Excel para JSON para usar com APIs da web?

Sim, o IronXL oferece conversão integrada de Excel para o formato JSON, facilitando a integração de dados do Excel com APIs web modernas e serviços REST. A conversão lida automaticamente com estruturas de dados complexas.

A conversão para Excel lida com caracteres especiais e formatação?

O IronXL lida automaticamente com caracteres especiais, células com várias linhas e escapes adequados ao converter arquivos do Excel para formatos como CSV. Isso elimina a necessidade de análise manual ou correções de formatação.

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.