ClosedXML para C# (.NET): guía completa con ejemplos

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

Introducción a ClosedXML: qué es y para qué sirve

\n\n

ClosedXML es una potente biblioteca open-source para el lenguaje C# (.NET), diseñada para crear, leer y editar archivos de Microsoft Excel (formatos .xlsx, .xlsm, .xltx). Proporciona una interfaz orientada a objetos conveniente para trabajar con hojas de cálculo sin necesidad de instalar Microsoft Office ni utilizar objetos COM.

\n\n

La biblioteca es especialmente útil para:

\n
    \n
  • Automatización de informes — generación de informes complejos de Excel con datos de bases de datos, API u otras fuentes
  • \n
  • Importación/exportación de datos — procesamiento masivo de datos tabulares entre sistemas
  • \n
  • Creación de plantillas — llenado de plantillas de Excel previamente preparadas con datos
  • \n
  • Cálculos financieros y analíticos — trabajo con fórmulas, tablas dinámicas, gráficos
  • \n
  • Migración desde VBA — traslado de macros a C# moderno
  • \n
\n\n

ClosedXML admite todas las funcionalidades principales de Excel: formato de celdas, combinación de celdas, formato condicional, gráficos, tablas dinámicas, validación de datos, protección de hojas y mucho más. Además, la biblioteca funciona completamente en memoria y no requiere tener Excel instalado en el servidor.

\n\n

Instalación de ClosedXML

\n\n

La instalación de ClosedXML se realiza a través del NuGet Package Manager. A continuación se muestran todas las formas de instalación:

\n\n

A través de .NET CLI

\n
dotnet add package ClosedXML
\n\n

A través de Package Manager Console (Visual Studio)

\n
Install-Package ClosedXML
\n\n

A través de NuGet Package Manager UI

\n
    \n
  1. Abra el proyecto en Visual Studio
  2. \n
  3. Haga clic derecho en el proyecto → "Manage NuGet Packages"
  4. \n
  5. Busque "ClosedXML" y haga clic en "Install"
  6. \n
\n\n

Verificación de la instalación

\n

Después de la instalación, agregue la directiva using a su código:

\n
using ClosedXML.Excel;
\n\n

Inicio rápido: creando su primera tabla de Excel

\n\n

Vamos a crear una tabla simple con datos de empleados y guardarla en un archivo:

\n\n
using ClosedXML.Excel;\n\nclass Program\n{\n    static void Main(string[] args)\n    {\n        // Crear un nuevo libro de trabajo\n        using (var workbook = new XLWorkbook())\n        {\n            // Agregar una hoja de trabajo\n            var worksheet = workbook.Worksheets.Add("Empleados");\n\n            // Llenar los encabezados\n            worksheet.Cell("A1").Value = "ID";\n            worksheet.Cell("B1").Value = "Nombre";\n            worksheet.Cell("C1").Value = "Cargo";\n            worksheet.Cell("D1").Value = "Salario";\n\n            // Llenar los datos\n            worksheet.Cell("A2").Value = 1;\n            worksheet.Cell("B2").Value = "Iván Petrov";\n            worksheet.Cell("C2").Value = "Desarrollador";\n            worksheet.Cell("D2").Value = 150000;\n\n            worksheet.Cell("A3").Value = 2;\n            worksheet.Cell("B3").Value = "María Sidorova";\n            worksheet.Cell("C3").Value = "Analista";\n            worksheet.Cell("D3").Value = 120000;\n\n            // Formatear los encabezados\n            var headerRange = worksheet.Range("A1:D1");\n            headerRange.Style.Font.Bold = true;\n            headerRange.Style.Fill.BackgroundColor = XLColor.LightBlue;\n\n            // Ajustar automáticamente el ancho de las columnas\n            worksheet.Columns().AdjustToContents();\n\n            // Guardar el archivo\n            workbook.SaveAs("employees.xlsx");\n        }\n\n        Console.WriteLine("¡Archivo creado exitosamente!");\n    }\n}
\n\n

Este ejemplo crea un archivo employees.xlsx con tres filas de datos y encabezados formateados.

\n\n

Métodos y funciones principales de ClosedXML

\n\n

1. Creación de libro de trabajo y hojas

\n

Método: new XLWorkbook() y workbook.Worksheets.Add()

\n

Descripción: Cre

Recommendations