Trabalhando com Excel em C# (.NET): Bibliotecas EPPlus e ClosedXML

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): guia detalhado sobre EPPlus e ClosedXML



No desenvolvimento moderno na plataforma .NET, surge frequentemente a necessidade de criar, ler e editar programaticamente planilhas do Excel. Isso pode incluir geração de relatórios, importação de dados de bancos de dados, exportação de estatísticas ou automação de processos de negócios. Neste artigo, abordaremos as duas bibliotecas mais populares e poderosas para trabalhar com Excel em C#: EPPlus e ClosedXML. Ambas as bibliotecas trabalham com o formato Open XML (XLSX) e não requerem o Microsoft Office instalado.



Por que usar bibliotecas para Excel?

Criar manualmente arquivos XML para o formato XLSX é extremamente trabalhoso e propenso a erros. Bibliotecas como EPPlus e ClosedXML fornecem uma API de alto nível que oculta toda a complexidade de trabalhar com Open XML. Elas permitem:

  • Criar arquivos Excel do zero com controle total sobre a formatação.
  • Ler dados de planilhas existentes com suporte a vários tipos de células.
  • Editar células, linhas, colunas e planilhas.
  • Aplicar estilos, fontes, cores, bordas e formatação condicional.
  • Trabalhar com fórmulas, tabelas dinâmicas e gráficos.
  • Exportar dados para PDF (disponível na versão paga do EPPlus).


Biblioteca EPPlus

EPPlus é uma das bibliotecas mais antigas e mais funcionais para trabalhar com Excel em .NET. Ela suporta todos os principais recursos do formato XLSX, incluindo gráficos, tabelas dinâmicas, formatação condicional e macros VBA. A partir da versão 5, o EPPlus migrou para um modelo de licenciamento LGPL com restrições adicionais para uso comercial (gratuito para projetos com receita inferior a 1 milhão de dólares por ano).



Instalação do EPPlus

Você pode instalar a biblioteca através do NuGet Package Manager:

Install-Package EPPlus

Ou via .NET CLI:

dotnet add package EPPlus


Exemplo: criando um arquivo Excel simples com EPPlus

O código a seguir demonstra a criação de um arquivo Excel com cabeçalhos e dados, além da aplicação de formatação básica:

using OfficeOpenXml;using OfficeOpenXml.Style;using System.Drawing;

public void CreateExcelWithEPPlus(){ // Configuração do contexto de licença (obrigatório para EPPlus 5+) ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

using (var package = new ExcelPackage()) { // Adiciona uma nova planilha var worksheet = package.Workbook.Worksheets.Add("Funcionários");

// Cabeçalhos worksheet.Cells[1, 1].Value = "Nome"; worksheet.Cells[1, 2].Value = "Cargo"; worksheet.Cells[1, 3].Value = "Salário";

// Estilização dos cabeçalhos using (var range = worksheet.Cells[1, 1, 1, 3]) { range.Style.Font.Bold = true; range.Style.Fill.PatternType = ExcelFillStyle.Solid; range.Style.Fill.BackgroundColor.SetColor(Color.LightBlue); range.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; }

// Dados worksheet.Cells[2, 1].Value = "João Silva"; worksheet.Cells[2, 2].Value = "Desenvolvedor"; worksheet.Cells[2, 3].Value = 150000;

worksheet.Cells[3, 1].Value = "Maria Santos"; worksheet.Cells[3, 2].Value = "Analista"; worksheet.Cells[3, 3].Value = 120000;

// Formatação de números worksheet.Cells[2, 3, 3, 3].Style.Numberformat.Format = "#,##0";

// Ajuste automático da largura das colunas worksheet.Cells[1, 1, 3, 3].AutoFitColumns();

// Salva o arquivo var fileInfo = new FileInfo("employees.xlsx"); package.SaveAs(fileInfo); }}


Biblioteca ClosedXML

ClosedXML é uma biblioteca leve e totalmente gratuita (licença

Recommendations