Exportar Informes Excel Limpios en .NET: Un tutorial paso a paso

Exportar datos a Excel en .NET debería ser sencillo, pero la mayoría de los desarrolladores se topan con obstáculos: formatos defectuosos, casos extremos ocultos y código difícil de mantener. Arreglémoslo. Esta guía muestra cómo exportar archivos Excel pulidos y fiables utilizando los componentes .NET de Xceed, con código que puede clonar y ejecutar hoy mismo.

Por qué se complica la exportación de Excel

  • Las exportaciones por defecto ignoran el formato, lo que dificulta la lectura de los informes.
  • Los grandes conjuntos de datos se ahogan en la memoria o pierden filas
  • Casos extremos: fórmulas, celdas combinadas, columnas de fecha/hora y caracteres especiales.
  • Las correcciones manuales hacen perder horas y se rompen en la siguiente actualización

Requisitos previos

  • Proyecto .NET 6+
  • Xceed Workbooks for .NET (obtenga una versión de prueba) aquí)
  • Familiaridad con los fundamentos del C#

Paso 1: Configure su proyecto

Clonar el repositorio Nuget con ejemplos y plantillas de trabajo:
Nuget: Xceed Workbooks para .NET
Instale el paquete NuGet de Xceed Workbooks:

dotnet add package Xceed.Workbooks.NET

Paso 2: Definir los datos y la estructura del informe

var employees = new List<Employee>
{
    new Employee { Name = "Jane Doe", Department = "Finance", Salary = 95000, HireDate = DateTime.Parse("2018-03-01") },
    // ... more rows
};

Paso 3: Crear y formatear el archivo Excel

using (var workbook = new Xceed.Workbooks.Workbook())
{
    var sheet = workbook.Worksheets.Add("Employee Report");
    sheet.Rows[0].Cells[0].Value = "Name";
    sheet.Rows[0].Cells[1].Value = "Department";
    sheet.Rows[0].Cells[2].Value = "Salary";
    sheet.Rows[0].Cells[3].Value = "Hire Date";

    // Apply bold header style
    sheet.Rows[0].Style.Font.Bold = true;

    for (int i = 0; i < employees.Count; i++)
    {
        var emp = employees[i];
        sheet.Rows[i + 1].Cells[0].Value = emp.Name;
        sheet.Rows[i + 1].Cells[1].Value = emp.Department;
        sheet.Rows[i + 1].Cells[2].Value = emp.Salary;
        sheet.Rows[i + 1].Cells[3].Value = emp.HireDate.ToShortDateString();
    }

    // Auto-fit columns
    sheet.Columns.AutoFit();

    workbook.SaveAs("EmployeeReport.xlsx");
}

Paso 4: Gestión de los casos extremos de exportación

  • Fórmulas:
    sheet.Rows[10].Cells[2].Formula = "=SUM(C2:C10)";
  • Células fusionadas:
    sheet.MergedCells.Add("A1:D1");
  • Caracteres especiales:
    Xceed maneja Unicode, sin necesidad de trabajo adicional.
  • Grandes datos:
    Xceed transmite filas para evitar picos de memoria.

Paso 5: Exportar y validar

  • Abra el archivo exportado: los encabezados están en negrita, las columnas se ajustan y las fechas son legibles.
  • Pruebas con datos de casos extremos (campos que faltan, caracteres especiales, etc.)
  • Añadir tratamiento de errores para uso en producción

Empezar ahora

Deje de pelearse con exportaciones desordenadas. Envíe hoy mismo informes Excel limpios y fiables.