IRONSOFTWAREHOME
USANDO IRONXL

Cómo generar un archivo de Excel en Razor Pages

Curtis Chau
Curtis Chau
Updated: 28 de junio de 2026

Las Razor Pages ofrecen un enfoque moderno para construir páginas web. En Razor Pages, el código fuente que renderiza la página web está escrito en C# en lugar de ser generado por una página del lado del servidor.

Para trabajar eficientemente con archivos de Excel, se recomienda la biblioteca IronXL sobre otras como el paquete POI Java project NPOI (notablemente utilizado con archivos de PowerPoint) y Office Interop. IronXL es una biblioteca rica en funciones, fácil de usar, que no requiere Microsoft Office y admite múltiples versiones de .NET.

Este artículo demuestra el uso de la biblioteca IronXL en C# para generar y exportar hojas de cálculo de Excel con datos ficticios y encabezados de filas en Razor Pages.

IronXL: Biblioteca de Excel en C#

IronXL es una biblioteca de Excel en C# que ofrece métodos y funciones para operar con grandes conjuntos de datos utilizando procesamiento en paralelo para aumentar la potencia informática. Es fácil de usar ya que no requiere entender el funcionamiento interno y admite archivos tanto XLS como XLSX.

IronXL es ideal para importar, exportar, crear fórmulas de Excel y documentos de oficina sin necesidad de tener instalado Microsoft Office.

Aprende a importar y exportar archivos de Excel en Razor Pages usando IronXL.

Generar un archivo de Excel en Razor Pages

Para crear hojas de Excel en Razor Pages, comienza abriendo Visual Studio, creando una aplicación web de ASP.NET Core e instalando IronXL.

Prerrequisitos

Configurar la creación de archivos de Excel en Razor Pages requiere:

  1. Visual Studio (última versión)
  2. .NET Framework 6 o 7
  3. Aplicación web de .NET Core en Visual Studio

Instalar la biblioteca IronXL

Instalar IronXL usando la consola del Administrador de paquetes NuGet. Introduce este comando para instalar la biblioteca en una aplicación web de .NET Core:

PM > Install-Package IronXL.Excel

Código para generar un archivo Excel

Así es como se escribe el código. Abre "Index.cs" en la carpeta Pages y agrega el siguiente método:

public FileResult OnPostExport()
{
    // Create a new WorkBook with XLSX format
    WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);
    // Create a new WorkSheet named "data"
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    // Add headers to the new worksheet
    workSheet["A1"].Value = "Product EN";
    workSheet["B1"].Value = "SKU";
    workSheet["C1"].Value = "Customer";

    // Make header text bold
    workSheet["A1:C1"].Style.Font.Bold = true;

    // Add dummy data to the worksheet
    workSheet["A2"].Value = "Iron Rods";
    workSheet["A3"].Value = "Mobile Phones";
    workSheet["A4"].Value = "Chargers";

    workSheet["B2"].Value = "105";
    workSheet["B3"].Value = "285";
    workSheet["B4"].Value = "301";

    workSheet["C2"].Value = "Adam";
    workSheet["C3"].Value = "Ellen";
    workSheet["C4"].Value = "Tom";

    // Convert the WorkBook to a byte array Stream for download
    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx");
}

In this code, a new Excel WorkBook is created and contains one WorkSheet. La hoja se llena con datos ficticios y el archivo generado se responde al servidor con:

  • El WorkBook se convierte en un Stream para descargar como archivo.
  • Se establece el tipo MIME.
  • Se especifica un nombre para la descarga del archivo.

Crea un botón para descargar el archivo Excel

Reemplaza el código existente en "Index.cshtml" con lo siguiente:

@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">IronXL is an Excel Library for C# that allows developers to read and edit Excel data from XLS and XLSX documents without using Microsoft.Office.Interop.Excel</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Generate Excel File!</button>
    </form>
</div>
HTML

Este HTML crea un formulario con asp-page-handler configurado en "Exportar", permitiendo a la aplicación exportar el archivo Excel a la máquina local cuando el usuario hace clic en el botón "¡Generar archivo Excel!", activando una descarga en el navegador.

Ejecutar el proyecto

Ejecuta el proyecto y verás una pantalla en el navegador. Haz clic en el botón verde para descargar el archivo de Excel.

Cómo generar un archivo Excel en Razor Pages, Figura 1: IronXL Generar Hojas de Excel IronXL generar hojas de Excel

Después de hacer clic en "Generate Excel File!", el archivo se descargará.

Cómo generar un archivo Excel en Razor Pages, Figura 2: Archivo IronXL Descargado IronXL archivo descargado

Abra el archivo Excel generado

El contenido del archivo de Excel generado coincide con la salida del código con un formato perfecto. La instantánea del archivo de Excel generado se muestra a continuación.

Cómo generar un archivo Excel en Razor Pages, Figura 3: Archivo IronXL Generado IronXL archivo generado

IronXL mejor que la competencia

IronXL es una herramienta superior para trabajar con formatos XLS y XLSX sin limitaciones como NPOI, que es más lento debido a estar basado en Java, mientras que IronXL es C#. En aplicaciones de ASP.NET Core que generan hojas de cálculo grandes/múltiples, opta por IronXL sobre POI.

IronXL permite crear y editar archivos de Excel sin Microsoft Office. A diferencia de Microsoft Interop, IronXL no necesita llamar al ActiveX de Microsoft Excel para operaciones o exportaciones de Excel. También permite exportar archivos CSV al formato de Excel.

IronXL también proporciona amplias características para interactuar con archivos de Excel, incluyendo convertir entre formatos populares, insertar funciones matemáticas, agregar gráficos y insertar imágenes.

Conclusión

Este artículo muestra cómo usar IronXL para generar un archivo de Excel en Razor Pages sin necesitar Microsoft Excel ActiveX y facilitar la descarga de archivos.

Explora más tutoriales sobre cómo crear archivos de Excel.

IronXL es gratuito para el desarrollo no comercial. Hay una prueba gratuita disponible para pruebas de producción. Consulta los planes de precios para obtener más detalles sobre precios y licencias.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta