IRONSOFTWAREHOME
COMPARAR COM OUTROS COMPONENTES

Uma comparação entre IronXL e CsvWriter

Curtis Chau
Curtis Chau
Updated: 19 de julho de 2026

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

Neste artigo, vamos discutir e comparar como trabalhar com documentos do Microsoft Excel programaticamente em tecnologias C# .NET, seja no formato CSV ou no formato Excel padrão, usando duas das bibliotecas mais populares, IronXL e CSVWriter.

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 a instalação do Microsoft Excel, nem depende do Interop.

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 — fácil de usar a sintaxe 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.

Gravador CSV

Uma biblioteca .NET para escrever arquivos CSV. Extremamente rápida, flexível e fácil de usar. Suporta a escrita de objetos de classe personalizados.

Características do CsvWriter

  • 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# é seguir os passos seguintes para instalar o pacote IronXLNuGet através do Command Prompt 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 CSVWriter

3.1. Usando o Console do Gerenciador de Pacotes NuGet

Para trabalhar com CSVWriter, você precisa baixar e instalar a biblioteca C# CsvHelper. Para fazer isso, utilize os passos seguintes para instalar o pacote NuGet através do Command Prompt 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
  • Verifique o detalhe do método CsvHelper.CsvWriter para implementação

3.2. Download Direto

Baixar do site do 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, mas o IronXL oferece uma opção muito boa e fácil para alcançar isso, sem usar 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 specify the format and delimiter
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get 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 WorkBook do IronXL representa uma planilha 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 vários objetos WorkSheet. Estes representam as planilhas no documento Excel. Se o workbook contém planilhas, recupere-as pelo nome da seguinte forma:

// Open 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);
}

Após carregar e ler o workbook e a worksheet, o seguinte exemplo de código pode ser usado para fazer alterações em fórmulas ou aplicar fórmulas a células específicas. O código é o seguinte:

// Set Formulas
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 workbook
WorkBook wb = WorkBook.Load("Normal_Excel_File.xlsx");
// Save as .csv file
wb.SaveAsCsv("SaveAsCSV.csv", ",");
// Saved as : SaveAsCSV.Sheet1.csv

5. Trabalhando com Dados CSV usando CSVWriter

Escrever dados em um arquivo CSV é uma operação comum. O método CSVWriter do CSVHelper com separador fornecido lida com todos os caracteres e caracteres de nova linha em um escritor CSV muito simples lançado para C#. Aqui vamos ver como escrever dados usando CSVWriter.

5.1. Criar uma Aplicação de Console Simples

Crie uma aplicação de console CSVWriter simples com separador fornecido usando o Visual Studio. Uma vez criado o projeto, o próximo passo é criar uma classe Person:

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    public bool IsLiving { get; set; }
}

Dentro do método Main, vamos agora fazer uma lista de objetos Person que escreveremos no arquivo CSV:

var myPersonObjects = new List<Person>()
{
    new Person { Id = 1, IsLiving = true, Name = "John" },
    new Person { Id = 2, IsLiving = true, Name = "Steve" },
    new Person { Id = 3, IsLiving = true, Name = "James" }
};

5.2. Escrevendo em um Arquivo CSV em C# com Configurações Padrão

CsvHelper emergiu como a maneira padrão de escrever CSV em C# usando o método CSVWriter, e é muito fácil de usar:

using (var writer = new StreamWriter("filePersons.csv"))
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
{
    csv.WriteRecords(myPersonObjects);
}

5.3. Acrescentando Dados

Precisamos ter em mente que toda vez que executarmos nosso programa, os arquivos CSV antigos serão sobrescritos. Às vezes, queremos que os dados sejam acrescentados ao final de um arquivo, em vez de sobrescrever dados existentes. CSVWriter não fornece um método para fazer isso, pois abrir/gravar um arquivo não é responsabilidade do CSVWriter com separador fornecido. Podemos conseguir isso usando um FileStream e, em seguida, construir nosso StreamWriter usando esse FileStream. Embora isso não esteja dentro do escopo deste artigo, eu vou te mostrar como fazer isso, pois é parte integrante de qualquer aplicação.

var configPersons = new CsvConfiguration(CultureInfo.InvariantCulture)
{
    HasHeaderRecord = false
};
using (var stream = File.Open("filePersons.csv", FileMode.Append))
using (var writer = new StreamWriter(stream))
using (var csv = new CsvWriter(writer, configPersons))
{
    csv.WriteRecords(myPersonObjects);
}

Acrescentar a um arquivo existente é complicado, no entanto, pois a ordenação pode ser alterada quando acrescentamos, ou podemos ter adicionado novas propriedades. Devemos garantir levar isso em conta ao acrescentar.

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 projetos únicos, desenvolvedores individuais, agências e corporações globais, bem como para redistribuiçã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.

CSVWriter com separador fornecido é um elemento separado por vírgula e completamente gratuito para uso comercial amigável.

7. Resumo e Conclusão

Resumo

IronXL é uma biblioteca completa que oferece tudo o que você precisa para manipular um arquivo Excel. Ela fornece a facilidade de converter vários formatos para XLSX e também de XLSX para outros formatos, como CSV. Essa interconversão oferece aos usuários a flexibilidade de manipular outros formatos de arquivo com facilidade.

Por outro lado, o CSVWriter trabalha apenas com formatos de arquivo CSV e com opções muito limitadas. Os usuários não podem alternar entre diferentes formatos de arquivo, enquanto com o IronXL eles podem. Todos os exemplos de código podem ser encontrados nos arquivos de documentação do CsvHelper. Este documento fornece diretrizes sobre como usar o CSVWriter em seu projeto.

Conclusão

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

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.