IRONSOFTWAREHOME
COMPARAR COM OUTROS COMPONENTES

Uma comparação entre IronXL e CsvHelper

Curtis Chau
Curtis Chau
Updated: 19 de julho de 2026

Trabalhar com arquivos CSV pode ser uma tarefa desafiadora. Existem muitas bibliotecas disponíveis hoje para ajudar os desenvolvedores com esta tarefa sem a necessidade de ter o Microsoft Excel instalado.

Neste artigo, vamos discutir e comparar como trabalhar com documentos do Microsoft Excel de forma programática em C# .NET Technologies, seja no formato CSV ou no formato padrão XLSX, usando duas das bibliotecas mais populares, IronXL e CsvHelper.

Vamos primeiro olhar o que ambas as bibliotecas têm a oferecer.

A Biblioteca IronXL

IronXL é uma biblioteca .NET que facilita a leitura e edição de documentos do Microsoft Excel com C#. IronXL.Excel é uma biblioteca de software .NET independente para ler uma ampla gama de formatos de planilhas. Não requer que o Microsoft Excel esteja instalado, nem depende de Interop. Funciona muito suavemente com arquivos CSV.

IronXL é uma API C# intuitiva que permite ler, editar e criar arquivos de planilhas Excel em .NET com desempenho extremamente rápido. IronXL suporta totalmente .NET Core, .NET Framework, Xamarin, Mobile, Linux, macOS e Azure.

IronXL é uma biblioteca líder de planilhas Excel para C# no .NET core e .NET framework.

Conjunto de Recursos do IronXL

  • Carregar, ler e editar dados — de XLS/XLSX/CSV/TSV
  • Salvar e exportar — para XLS/XLSX/CSV/TSV/JSON
  • Intervalos — sintaxe fácil de usar WorkSheet["A1:B10"]. Combine e crie intervalos de forma intuitiva.
  • Ordenação — ordenar intervalos, colunas e linhas.
  • Estilos — estilos visuais de célula, fonte, tamanho, padrão de fundo, borda, alinhamento e formatos de números.

CsvHelper

Uma biblioteca .NET para leitura e escrita de arquivos CSV. Extremamente rápida, flexível e fácil de usar. Suporta leitura e escrita de objetos de classe personalizados. Todos os códigos de exemplo estão disponíveis na documentação do pacote CsvHelper.

Recursos do CsvHelper

  • Rápido: compila classes instantaneamente para desempenho extremamente rápido
  • Flexível: conservador ao escrever, liberal ao ler
  • Fácil de usar: leitura e escrita são tão simples quanto GetRecords<t>() e WriteRecords(records)
  • Altamente configurável
  • Modo Linux
  • Baixo uso de memória

1. Criar um Aplicativo de Console

Use os seguintes passos para criar um Aplicativo de Console:

  • Inicie o IDE do Visual Studio 2022.
  • Clique em "Criar novo projeto".
  • Na página "Criar novo projeto", selecione C# na lista suspensa de idiomas, Windows na lista de Plataformas e Console na lista "Tipos de projeto".
  • Selecione Aplicativo Console (.NET Framework) nos modelos de projeto exibidos.

Criar Projeto - Aplicativo Console

  • Clique em Próximo.
  • Na tela de Informações Adicionais, especifique a versão do Framework que você deseja usar. Usaremos o .NET Framework 4.8 neste exemplo.

Criar Projeto - .NET Framework

  • Clique em Criar para concluir o processo.

O projeto agora está criado e estamos quase prontos para testar as bibliotecas. No entanto, ainda precisamos instalá-las e integrá-las em nosso projeto. Vamos instalar o IronXL primeiro.

2. Instalação da Biblioteca IronXL C#

Você pode baixar e instalar a biblioteca IronXL usando os seguintes métodos:

  1. Usando o Visual Studio com pacotes NuGet
  2. Baixe o pacote NuGet diretamente
  3. Instalar Manualmente com o DLL

Vamos dar uma olhada mais de perto em cada um.

2.1. Usando o Visual Studio com pacotes NuGet

O Visual Studio fornece o Gerenciador de Pacotes NuGet para instalar pacotes NuGet em seus projetos. Você pode acessá-lo através do Menu Projeto, ou clicando com o botão direito do mouse no seu projeto no Solution Explorer.

Selecione-Gerenciar-Pacote-NuGet

  • Agora, na aba de navegação -> procure por IronXL.Excel -> Instalar

Pesquise por IronXL

  • E terminamos.

2.2. Baixar o Pacote NuGet Diretamente

Isso pode ser feito visitando o site do NuGet diretamente e baixando o pacote. Os passos são:

2.3. Instalar Manualmente com o DLL

Outra maneira de baixar e instalar a Biblioteca IronXL C# é usar os seguintes passos para instalar o pacote NuGet IronXL através do Prompt de Comando do Desenvolvedor.

  • Abra o Prompt de Comando do Desenvolvedor — geralmente encontrado na pasta do Visual Studio.
  • Digite o seguinte comando: PM> Install-Package IronXL.Excel
  • Pressione Enter
  • Isto irá baixar e instalar o pacote
  • Recarregue seu projeto do Visual Studio e comece a usá-lo

2.4. Adicionar Diretivas Using Necessárias

  1. No Solution Explorer, clique com o botão direito no arquivo Program.cs e, em seguida, clique em Ver Código.
  2. Adicione as seguintes diretivas using ao topo do arquivo de código:
using IronXL;

Tudo pronto! IronXL está baixado, instalado e pronto para uso. No entanto, antes disso, devemos instalar o CsvHelper.

3. Instalação do CsvHelper

3.1. Usando o Console do Gerenciador de Pacotes NuGet

Para baixar e instalar a Biblioteca CsvHelper C#, use os seguintes passos para instalar o pacote NuGet através do Prompt de Comando do Desenvolvedor.

  • Abra o Prompt de Comando do Desenvolvedor — geralmente encontrado na pasta do Visual Studio.
  • Digite o seguinte comando: PM> Install-Package CsvHelper -Version 27.2.1
  • Pressione Enter
  • Isto irá baixar e instalar o pacote
  • Recarregue seu projeto do Visual Studio e comece a usá-lo

3.2. Download Direto

Baixe do site da NuGet: https://www.nuget.org/packages/CsvHelper.

4. Trabalhando com Arquivos CSV usando IronXL

Um arquivo de valores separados por vírgulas (CSV) é um arquivo de texto delimitado que usa uma vírgula para separar valores. Cada linha do arquivo é um registro de dados. Manipular esses arquivos para cálculos pode ser uma tarefa desafiadora, e o IronXL oferece uma opção muito boa e fácil de fazer isso sem o Microsoft Excel. Vamos primeiro converter um arquivo CSV em um arquivo Excel normal.

4.1. Convertendo um Arquivo CSV para o Formato Excel

O processo é bastante simples e fácil. Geralmente é feito com uma linha de código.

CSV para formatos Excel:

// Load the CSV file and convert it to an Excel format
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Access the default worksheet
WorkSheet ws = workbook.DefaultWorkSheet;

// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");

4.2. Ler e Manipular Arquivos CSV Convertidos usando IronXL

A classe IronXL WorkBook representa uma planilha do Excel. Para abrir um arquivo Excel usando C#, usamos WorkBook.Load e especificamos o caminho do arquivo Excel (.xlsx). O seguinte código de uma linha é usado para abrir o arquivo para leitura:

// Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets/sample.xlsx");

Cada WorkBook pode conter múltiplos objetos WorkSheet. Estes representam as planilhas no documento Excel. Se o workbook contém planilhas, recupere-as pelo nome da seguinte forma:

// Open the sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");

Código para leitura dos valores das células:

// Read from ranges of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}

Depois de carregar e ler a pasta de trabalho e a planilha, o código de exemplo a seguir pode ser usado para fazer alterações nas fórmulas ou aplicá-las a células específicas. O código é o seguinte:

// Set formulas in specific cells
worksheet["A1"].Formula = "SUM(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "MAX(C3:C7)";

// Force recalculate all formula values in all sheets
workbook.EvaluateAll();

4.3. Salvando o documento Excel de volta para o Arquivo CSV

Escrever arquivos CSV é um processo fácil com o IronXL. O seguinte código simplesmente salva o arquivo Excel no formato CSV usando o método SaveAsCsv.

// Load the Excel Workbook
WorkBook wb = WorkBook.Load("Normal_Excel_File.xlsx");

// Save the workbook as a CSV file
wb.SaveAsCsv("SaveAsCSV.csv", ",");
// This will save as "SaveAsCSV.Sheet1.csv"

5. Trabalhando com Arquivos CSV usando CsvHelper

Ler arquivos CSV é uma daquelas tarefas que parecem muito mais fáceis do que realmente são. A biblioteca CsvHelper facilita a escrita de código que é seguro para tipos, rápido e flexível.

5.1. Ler arquivos CSV com CsvHelper

Este é o arquivo CSV de exemplo, ele tem três colunas de texto e uma coluna de número.

FirstName,LastName,Age,IsActive
Ali,Talal,30,Yes
Affan,Ahmad,31,No
Saad,Bhatti,31,Yes
Text

Mapearemos cada linha em um objeto do tipo Person.

// Define the Person class to map CSV records
public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int? Age { get; set; }
    public string IsActive { get; set; }
}

O código para ler nosso arquivo CSV está abaixo.

// Define the path to the CSV file
var fileName = @"<path to our CSV file>";

// Configure CsvHelper
var configuration = new CsvConfiguration(CultureInfo.InvariantCulture)
{
    Encoding = Encoding.UTF8,
    Delimiter = ","
};

// Read CSV file
using (var fs = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.Read))
{
    using (var textReader = new StreamReader(fs, Encoding.UTF8))
    using (var csv = new CsvReader(textReader, configuration))
    {
        var data = csv.GetRecords<Person>();
        
        // Iterate over each person record
        foreach (var person in data)
        {
            // Process each Person object
        }
    }
}

O tipo de data é IEnumerable<Person>. CsvHelper mapeará automaticamente cada coluna na propriedade com o mesmo nome. Por exemplo, o valor na coluna FirstName será mapeado em Person.FirstName. Podemos então iterar data e acessar os valores em cada linha.

5.2. Converter Dados em Arquivos CSV de um Tipo para Outro

Os arquivos CSV, na maioria das vezes, contêm dados de texto. Por exemplo, a coluna de idade é um valor inteiro e o arquivo CSV contém apenas texto. CsvHelper pode converter dados de strings para tipos padrão do .NET (Boolean, Int32, Int64, Enum). No nosso caso, temos um tipo de dados bool IsActive, que só pode ter True/False, e contém valores não padronizados. Pode ser convertido criando um conversor personalizado. A formatação do código é a seguinte:

// Custom Boolean Converter for CsvHelper
public class CustomBooleanConverter : DefaultTypeConverter
{
    public override object ConvertFromString(string text, IReaderRow row, MemberMapData memberMapData)
    {
        // Convert "Yes" to true and anything else to false
        return text.Equals("Yes", StringComparison.OrdinalIgnoreCase);
    }
}

Embora bool seja um tipo padrão do .NET, o conversor padrão só pode lidar com o valor True/False, enquanto nosso arquivo CSV tem Yes/No. Aqui, precisamos subclassear DefaultTypeConverter, em seguida, sobrescrever o método ConvertFromString.

6. Licenciamento

IronXL é uma biblioteca Excel C# abertamente comercial. É gratuito para desenvolvimento e pode sempre ser licenciado para implantação comercial. Licenças estão disponíveis para uso em projeto único, desenvolvedores individuais, agências e corporações globais, bem como para distribuição SaaS e OEM. Todas as licenças incluem garantia de reembolso de 30 dias, um ano de suporte e atualizações do produto, validade para desenvolvimento/teste/produção e também uma licença permanente (compra única). O pacote Lite começa a partir de $999.

CsvHelper — ler e escrever arquivos CSV é completamente gratuito para uso comercial.

7. Resumo e Conclusão

Resumo

IronXL é uma biblioteca completa que oferece tudo o que você precisa para manipular um arquivo Excel. É fácil de usar e fornece a facilidade de converter vários formatos para XLSX, assim como de XLSX para outros formatos, como CSV. Esta interconversão oferece ao usuário flexibilidade para trabalhar com vários formatos de arquivos com facilidade.

Por outro lado, CsvHelper é projetado especificamente para trabalhar com formatos de arquivos CSV, o que significa que ele só pode lidar com arquivos CSV. Todos os exemplos de código podem ser encontrados nos arquivos de documentação do CsvHelper. A documentação fornece diretrizes sobre como usar o CsvHelper em seu projeto.

Conclusão

IronXL tem uma vantagem clara sobre CsvHelper, pois suporta usuários trabalhando com múltiplos formatos. Além disso, você pode aplicar fórmulas e estilos de acordo com sua escolha, enquanto CsvHelper só permite leitura e escrita de arquivos CSV com opções limitadas. Além disso, você não pode adicionar novos registros a um arquivo CSV existente, pois ele simplesmente sobrescreve as entradas anteriores.

Observe: CsvHelper é uma marca registrada de seu respectivo proprietário. Este site não é afiliado, endossado ou patrocinado pelo CsvHelper. Todos os nomes de produtos, logotipos e marcas são propriedade de seus respectivos proprietários. As comparações são apenas para fins informativos e refletem informações disponíveis publicamente no momento da redaçã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 bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.