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 EPPlusExemplo: 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 ClosedXMLExemplo: 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 = Também na biblioteca
Diesel para Rust: guia completo com exemplos
ORM para JavaScript (Node.js): comparação entre Sequelize, TypeORM, Prisma
Geração de relatórios PDF em C# (.NET): iTextSharp, QuestPDF, PDFsharp
Configuração de aplicações em Go: biblioteca viper