Trabalhando com Excel em C# (.NET): bibliotecas EPPlus, ClosedXML e NPOI

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Trabalhando com Excel em C# (.NET): melhores bibliotecas e exemplos



Trabalhar com planilhas Excel é uma das tarefas mais comuns no desenvolvimento corporativo em C#. Seja para gerar relatórios, importar dados ou automatizar operações rotineiras — você precisará de uma ferramenta confiável. Neste artigo, analisaremos três bibliotecas populares para trabalhar com Excel no ecossistema .NET: EPPlus, ClosedXML e NPOI. Você conhecerá suas características, pontos fortes e verá exemplos de código.



1. EPPlus — ferramenta poderosa e moderna



EPPlus é uma das bibliotecas mais populares para trabalhar com arquivos Excel (.xlsx) em .NET. Ela suporta praticamente todos os recursos do Excel: formatação, gráficos, tabelas dinâmicas, formatação condicional e muito mais. A partir da versão 5, o EPPlus é distribuído sob a licença Polyform Noncommercial (gratuito para uso não comercial), sendo necessária a compra de uma licença para uso comercial.



Instalação

Install-Package EPPlus


Exemplo: criando um arquivo Excel simples

using OfficeOpenXml;

class Program{ static void Main() { // Define o contexto de licença (para uso não comercial) ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

using (var package = new ExcelPackage()) { var worksheet = package.Workbook.Worksheets.Add("Relatório"); // Cabeçalhos worksheet.Cells["A1"].Value = "Nome"; worksheet.Cells["B1"].Value = "Idade"; worksheet.Cells["C1"].Value = "Cidade"; // Dados worksheet.Cells["A2"].Value = "Ana"; worksheet.Cells["B2"].Value = 28; worksheet.Cells["C2"].Value = "Moscou"; worksheet.Cells["A3"].Value = "Ivan"; worksheet.Cells["B3"].Value = 35; worksheet.Cells["C3"].Value = "São Petersburgo"; // Formatação worksheet.Cells["A1:C1"].Style.Font.Bold = true; worksheet.Cells["A1:C1"].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; worksheet.Cells["A1:C1"].Style.Fill.BackgroundColor.SetColor(System.Drawing.Color.LightBlue); // Ajuste automático da largura das colunas worksheet.Cells.AutoFitColumns();

// Salvar var file = new FileInfo("Relatório.xlsx"); package.SaveAs(file); } }}


Vantagens do EPPlus:

  • Suporte a objetos complexos: gráficos, tabelas dinâmicas, sparklines
  • Alta performance ao trabalhar com arquivos grandes
  • Excelente documentação e comunidade ativa

Desvantagens: licença comercial paga, sem suporte a .xls (formato antigo).



2. ClosedXML — simplicidade e praticidade



ClosedXML é uma biblioteca gratuita de código aberto que oferece uma API conveniente para trabalhar com Excel. Ela é construída sobre o OpenXML SDK, mas oculta toda a complexidade, oferecendo uma interface intuitiva. Ideal para criação rápida de relatórios e tabelas.



Instalação

Install-Package ClosedXML


Exemplo: criando um arquivo com formatação

using ClosedXML.Excel;

class Program{ static void Main() { using (var workbook = new XLWorkbook()) { var ws = workbook.Worksheets.Add("Vendas"); // Cabeçalhos ws.Cell("A1").Value = "Produto"; ws.Cell("B1").Value = "Quantidade"; ws.Cell("C1").Value = "Preço"; // Dados ws.Cell("A2").Value = "Notebook"; ws.Cell("B2").Value = 5; ws.Cell("C2").Value =

Recommendations