Trabajo con Excel en C# (.NET): bibliotecas EPPlus, ClosedXML y NPOI

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): mejores bibliotecas y ejemplos



Trabajar con hojas de cálculo de Excel es una de las tareas más comunes en el desarrollo corporativo con C#. Ya sea para generar informes, importar datos o automatizar operaciones rutinarias, necesitarás una herramienta confiable. En este artículo analizaremos tres bibliotecas populares para trabajar con Excel en el ecosistema .NET: EPPlus, ClosedXML y NPOI. Conocerás sus características, fortalezas y verás ejemplos de código.



1. EPPlus — una herramienta potente y moderna



EPPlus es una de las bibliotecas más populares para trabajar con archivos Excel (.xlsx) en .NET. Soporta prácticamente todas las funcionalidades de Excel: formato, gráficos, tablas dinámicas, formato condicional y mucho más. A partir de la versión 5, EPPlus se distribuye bajo la licencia Polyform Noncommercial (gratuita para uso no comercial); para uso comercial se requiere la compra de una licencia.



Instalación

Install-Package EPPlus


Ejemplo: creación de un archivo Excel simple

using OfficeOpenXml;

class Program{ static void Main() { // Establecemos el contexto de licencia (para uso no comercial) ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

using (var package = new ExcelPackage()) { var worksheet = package.Workbook.Worksheets.Add("Informe"); // Encabezados worksheet.Cells["A1"].Value = "Nombre"; worksheet.Cells["B1"].Value = "Edad"; worksheet.Cells["C1"].Value = "Ciudad"; // Datos worksheet.Cells["A2"].Value = "Ana"; worksheet.Cells["B2"].Value = 28; worksheet.Cells["C2"].Value = "Moscú"; worksheet.Cells["A3"].Value = "Iván"; worksheet.Cells["B3"].Value = 35; worksheet.Cells["C3"].Value = "San Petersburgo"; // Formato 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); // Autoajuste de columnas worksheet.Cells.AutoFitColumns();

// Guardamos var file = new FileInfo("Informe.xlsx"); package.SaveAs(file); } }}


Ventajas de EPPlus:

  • Soporte para objetos complejos: gráficos, tablas dinámicas, minigráficos
  • Alto rendimiento al trabajar con archivos grandes
  • Excelente documentación y comunidad activa

Desventajas: licencia comercial paga, no soporta .xls (formato antiguo).



2. ClosedXML — simplicidad y comodidad



ClosedXML es una biblioteca gratuita de código abierto que proporciona una API conveniente para trabajar con Excel. Está construida sobre OpenXML SDK, pero oculta toda la complejidad ofreciendo una interfaz intuitiva. Ideal para la creación rápida de informes y tablas.



Instalación

Install-Package ClosedXML


Ejemplo: creación de un archivo con formato

using ClosedXML.Excel;

class Program{ static void Main() { using (var workbook = new XLWorkbook()) { var ws = workbook.Worksheets.Add("Ventas"); // Encabezados ws.Cell("A1").Value = "Producto"; ws.Cell("B1").Value = "Cantidad"; ws.Cell("C1").Value = "Precio"; // Datos ws.Cell("A2").Value = "Portátil"; ws.Cell("B2").Value = 5; ws.Cell("C2").Value =

Recommendations