Trabajo con Excel en C# (.NET): Bibliotecas EPPlus y ClosedXML

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Trabajo con Excel en C# (.NET): guía detallada sobre EPPlus y ClosedXML



En el desarrollo moderno en la plataforma .NET, a menudo surge la necesidad de crear, leer y editar hojas de cálculo de Excel mediante programación. Esto puede incluir la generación de informes, la importación de datos desde bases de datos, la exportación de estadísticas o la automatización de procesos empresariales. En este artículo, analizaremos las dos bibliotecas más populares y potentes para trabajar con Excel en C#: EPPlus y ClosedXML. Ambas bibliotecas trabajan con el formato Open XML (XLSX) y no requieren tener instalado Microsoft Office.



¿Por qué usar bibliotecas para Excel?

La creación manual de archivos XML para el formato XLSX es extremadamente laboriosa y propensa a errores. Bibliotecas como EPPlus y ClosedXML proporcionan una API de alto nivel que oculta toda la complejidad de trabajar con Open XML. Permiten:

  • Crear archivos de Excel desde cero con control total sobre el formato.
  • Leer datos de tablas existentes con soporte para varios tipos de celdas.
  • Editar celdas, filas, columnas y hojas.
  • Aplicar estilos, fuentes, colores, bordes y formato condicional.
  • Trabajar con fórmulas, tablas dinámicas y gráficos.
  • Exportar datos a PDF (disponible en la versión paga de EPPlus).


Biblioteca EPPlus

EPPlus es una de las bibliotecas más antiguas y funcionales para trabajar con Excel en .NET. Soporta todas las capacidades principales del formato XLSX, incluidos gráficos, tablas dinámicas, formato condicional y macros VBA. A partir de la versión 5, EPPlus cambió a un modelo de licencia LGPL con restricciones adicionales para uso comercial (gratuito para proyectos con ingresos inferiores a 1 millón de dólares al año).



Instalación de EPPlus

Puede instalar la biblioteca a través del Administrador de paquetes NuGet:

Install-Package EPPlus

O mediante .NET CLI:

dotnet add package EPPlus


Ejemplo: creación de un archivo Excel simple con EPPlus

El siguiente código demuestra la creación de un archivo Excel con encabezados y datos, así como la aplicación de formato básico:

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

public void CreateExcelWithEPPlus(){ // Establecer el contexto de licencia (obligatorio para EPPlus 5+) ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

using (var package = new ExcelPackage()) { // Agregar una nueva hoja var worksheet = package.Workbook.Worksheets.Add("Empleados");

// Encabezados worksheet.Cells[1, 1].Value = "Nombre"; worksheet.Cells[1, 2].Value = "Cargo"; worksheet.Cells[1, 3].Value = "Salario";

// Estilo de los encabezados 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; }

// Datos worksheet.Cells[2, 1].Value = "Iván Ivanov"; worksheet.Cells[2, 2].Value = "Desarrollador"; worksheet.Cells[2, 3].Value = 150000;

worksheet.Cells[3, 1].Value = "María Petrova"; worksheet.Cells[3, 2].Value = "Analista"; worksheet.Cells[3, 3].Value = 120000;

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

// Autoajuste del ancho de columnas worksheet.Cells[1, 1, 3, 3].AutoFitColumns();

// Guardar el archivo var fileInfo = new FileInfo("employees.xlsx"); package.SaveAs(fileInfo); }}


Biblioteca ClosedXML

ClosedXML es una biblioteca ligera y completamente gratuita (licencia

Recommendations