USO DE IRONXL

Cómo exportar CSV y Excel en Razor

Actualizado 20 de febrero, 2024
Compartir:

¿Busca una forma de exportar datos a un archivo Excel utilizando Razor Pages? Este artículo explica cómo hacerlo utilizando IronXL for .NET.

1. IronXL

IronXL es una biblioteca .NET utilizada para trabajar con archivos Excel. Se basa en OpenXML SDK y proporciona una API sencilla para leer, escribir y manipular hojas de cálculo Excel. IronXL puede utilizarse en diversas aplicaciones .NET, como aplicaciones web, aplicaciones de escritorio y aplicaciones de consola. IronXL proporciona una serie de funciones para trabajar con documentos de Excel, incluida la capacidad deleer yescribir datos a celdas individuales, crear cuadros y gráficos y realizarcálculos complejos. También admite funciones avanzadas de Excel, como las tablas dinámicas,formato condicionaly validación de datos.

La exportación de datos a archivos Excel y CSV es una tarea común en el desarrollo web, y Razor y IronXL facilitan su realización. Con IronXL, los desarrolladores pueden crear fácilmente hojas de cálculo Excel y guardarlas en un archivo o flujo. Razor puede utilizarse entonces para generar contenidos dinámicos que incluyan enlaces al documento Excel, permitiendo a los usuarios descargarlos directamente desde la página web. El formato de archivo CSV también puede generarse utilizando IronXL y descargarse de forma similar utilizando Razor. Esto facilita la creación de informes y otros contenidos basados en datos que pueden compartirse fácilmente con otros usuarios. En general, la combinación de Razor y IronXL .NET Core Razor Pages proporciona un potente conjunto de herramientas para los desarrolladores web que deseen crear páginas web dinámicas basadas en datos.

2. Requisitos previos

Antes de utilizar Razor en Visual Studio, hay algunos requisitos previos que los usuarios deben tener en su lugar. He aquí algunas de las más importantes:

  1. Como usuario de IronXL, necesita tener Visual Studio instalado en su sistema informático. Puede descargar Visual Studio Community gratuitamente desde el sitio web oficial de Microsoft.

  2. También necesita tener instalado .NET Core SDK en su ordenador. Puede descargar la última versión de .NET Core SDK desde el sitio web oficial de Microsoft.

  3. Su entorno de desarrollo web debe estar configurado antes de empezar a trabajar con Razor View.

3. Creación de un nuevo proyecto de Visual Studio

Para crear un nuevo proyecto de Visual Studio, siga estos pasos:

  1. Abre Visual Studio.

  2. Haga clic en "Crear un nuevo proyecto" en la ventana de inicio, o en "Archivo" > "Nuevo" > "Proyecto" en la barra de menús.

    Cómo exportar CSV y Excel en Razor, Figura 1: Ventana de inicio de Visual Studio

    Ventana de inicio de Visual Studio

  3. Seleccione el tipo de proyecto que desea crear, para utilizar Razor Pages, seleccione ASP.NET Core Web App y haga clic en Next.

    Cómo exportar CSV y Excel en Razor, Figura 2: Crear una nueva .NET Core Web App en Visual Studio

    Cree una nueva aplicación web .NET Core en Visual Studio.

  4. Aparecerá una nueva ventana, escribe el nombre de tu nuevo proyecto y su ubicación. A continuación, haga clic en Siguiente.

    Cómo exportar CSV y Excel en Razor, Figura 3: Configurar el nuevo proyecto

    Configurar el nuevo proyecto

  5. Ahora en la nueva ventana seleccione su Framework de destino, marque la opción configurar para HTTPS y haga clic en crear.

  6. Así de fácil se creará su nuevo proyecto ASP.NET Core Web App de Visual Studio.

4. Instalar IronXL

La biblioteca IronXL puede descargarse e instalarse de distintas formas.

Estos son:

  • Uso de paquetes NuGet de Visual Studio
  • Uso de la línea de comandos de Visual Studio.

4.1 Utilización de Visual Studio

Para instalar la biblioteca IronXL, lo más sencillo es utilizar el gestor de paquetes NuGet. Abre el gestor y busca IronXL en la pestaña Examinar. Elige IronXL en los resultados de búsqueda e instálalo.

La siguiente captura de pantalla muestra cómo abrir el gestor de paquetes NuGet en Visual Studio.

Cómo exportar CSV y Excel en Razor, Figura 4: Navegar al gestor de paquetes NuGet

Navegue hasta el Gestor de paquetes NuGet.

IronXL en los resultados de búsqueda:

Cómo exportar CSV y Excel en Razor, Figura 5: Búsqueda de IronXL en la interfaz de usuario del gestor de paquetes NuGet

**Busca IronXL en la interfaz de usuario del gestor de paquetes NuGet.

4.2 Uso de la línea de comandos de Visual Studio

Utilizar una consola para realizar operaciones es una opción popular para muchos. Si prefieres instalar IronXL a través de la línea de comandos, puedes seguir estos pasos:

  • En Visual Studio, vaya a Herramientas > Administrador de paquetes NuGet > Consola del administrador de paquetes.
  • Introduzca la siguiente línea en la pestaña Consola del gestor de paquetes:
Install-Package IronXL.Excel

Ahora el paquete se descargará/instalará en el proyecto actual y estará listo para su uso.

Cómo exportar CSV y Excel en Razor, Figura 6: Instalar IronXL en la consola del gestor de paquetes

Instala IronXL en la Consola del Gestor de Paquetes

5. Exportar datos a un archivo Excel en Razor Net Core

Una vez creado el proyecto, se crea una interfaz sencilla de la aplicación Razor. Ahora cambia la interfaz para exportar a Excel export.

Cómo exportar CSV y Excel en Razor, Figura 7: La interfaz web del proyecto recién creado

La interfaz web del proyecto recién creado

Cambie la interfaz anterior editando el archivo index.cshtml en el directorio Pages.

@page
@model IndexModel
@{
    ViewData ["Title"] = "Home page";
}
<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">This will be the combination of Razor and IronXL and togather they will Export data to Excel file.</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Export Excel File!</button>
    </form>
</div>
@page
@model IndexModel
@{
    ViewData ["Title"] = "Home page";
}
<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">This will be the combination of Razor and IronXL and togather they will Export data to Excel file.</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Export Excel File!</button>
    </form>
</div>
page model ReadOnly Property () As IndexModel
	ViewData ("Title") = "Home page"
End Property
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<div class="text-center"> <h1 class="display-4"> IronXL Generate Excel File</h1> <p class="m-5"> This will be the combination @of Razor @and IronXL @and togather they will Export data @to Excel file.</p> <form method="post" asp-page-handler="Export"> <button class="btn btn-success p-3"> Export Excel File!</button> </form> </div>
VB   C#

Este código cambiará la interfaz de la página de inicio y añadirá el botón de exportación.

Cómo exportar CSV y Excel en Razor, Figura 8: La nueva interfaz con un botón de exportación

La nueva interfaz con un botón de exportación

Ahora crea el método onPostExport en el archivo index.cshtml.cs y escribe el siguiente código. Este código genera una hoja de cálculo y escribe los nombres de las columnas en negrita. Los usuarios también pueden configurar el tamaño de la fuente e incluso establecer el color de fondo de las columnas mediante el estilo. Es lo mismo que exportar datos de tablas de bases de datos desde SQL Server o cualquier otro servidor de bases de datos a Excel.

public FileResult OnPostExport()
{
    WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);
    WorkSheet workSheet = workBook.CreateWorkSheet("data");
    //Add data and styles to the new worksheet
    workSheet ["A1"].Value = "Name";
    workSheet ["B1"].Value = "Email";
    workSheet ["C1"].Value = "Marks";
    workSheet ["D1"].Value = "Persent Age";
    workSheet ["A1:D1"].Style.Font.Bold = true;
    workSheet ["A2"].Value = "Nick";
    workSheet ["A3"].Value = "Roy";
    workSheet ["A4"].Value = "Chris";
    workSheet ["B2"].Value = "Nick@gmail.com";
    workSheet ["B3"].Value = "Roy123@gmail.com";
    workSheet ["B4"].Value = "Chris1999@gmail.com";
    workSheet ["C2"].Value = "850";
    workSheet ["C3"].Value = "710";
    workSheet ["C4"].Value = "990";
    workSheet ["D2"].Value = "85%";
    workSheet ["D3"].Value = "71%";
    workSheet ["D4"].Value = "99%";

    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx");
}
public FileResult OnPostExport()
{
    WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);
    WorkSheet workSheet = workBook.CreateWorkSheet("data");
    //Add data and styles to the new worksheet
    workSheet ["A1"].Value = "Name";
    workSheet ["B1"].Value = "Email";
    workSheet ["C1"].Value = "Marks";
    workSheet ["D1"].Value = "Persent Age";
    workSheet ["A1:D1"].Style.Font.Bold = true;
    workSheet ["A2"].Value = "Nick";
    workSheet ["A3"].Value = "Roy";
    workSheet ["A4"].Value = "Chris";
    workSheet ["B2"].Value = "Nick@gmail.com";
    workSheet ["B3"].Value = "Roy123@gmail.com";
    workSheet ["B4"].Value = "Chris1999@gmail.com";
    workSheet ["C2"].Value = "850";
    workSheet ["C3"].Value = "710";
    workSheet ["C4"].Value = "990";
    workSheet ["D2"].Value = "85%";
    workSheet ["D3"].Value = "71%";
    workSheet ["D4"].Value = "99%";

    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx");
}
Public Function OnPostExport() As FileResult
	Dim workBook As New WorkBook(IronXL.ExcelFileFormat.XLSX)
	Dim workSheet As WorkSheet = workBook.CreateWorkSheet("data")
	'Add data and styles to the new worksheet
	workSheet ("A1").Value = "Name"
	workSheet ("B1").Value = "Email"
	workSheet ("C1").Value = "Marks"
	workSheet ("D1").Value = "Persent Age"
	workSheet ("A1:D1").Style.Font.Bold = True
	workSheet ("A2").Value = "Nick"
	workSheet ("A3").Value = "Roy"
	workSheet ("A4").Value = "Chris"
	workSheet ("B2").Value = "Nick@gmail.com"
	workSheet ("B3").Value = "Roy123@gmail.com"
	workSheet ("B4").Value = "Chris1999@gmail.com"
	workSheet ("C2").Value = "850"
	workSheet ("C3").Value = "710"
	workSheet ("C4").Value = "990"
	workSheet ("D2").Value = "85%"
	workSheet ("D3").Value = "71%"
	workSheet ("D4").Value = "99%"

	Return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx")
End Function
VB   C#

Este código creará un libro de trabajo y devolverá el archivo como una hoja de Excel. Este método se vinculará al botón y, una vez que se haga clic en él, se creará y descargará automáticamente el archivo XLSX exportado.

Cómo exportar CSV y Excel en Razor, Figura 9: Exportar un archivo XLSX en el navegador

Exportar un archivo XLSX en el navegador

Cómo exportar CSV y Excel en Razor, Figura 10: Los datos en el archivo XLSX exportado

**Los datos del archivo XLSX exportado.

6. Exportar datos a archivo CSV

Al igual que en el caso anterior, puede exportar fácilmente archivos de texto CSV con cambios en una sola línea de código en los ejemplos de código anteriores. Sólo tiene que sustituir el código de archivo de retorno en el código fuente anterior con esto y su página Razor devolverá un archivo CSV.

return File(workBook.ToStream().ToArray(), "text/csv", "Student.csv");
return File(workBook.ToStream().ToArray(), "text/csv", "Student.csv");
Return File(workBook.ToStream().ToArray(), "text/csv", "Student.csv")
VB   C#

Cómo exportar CSV y Excel en Razor, Figura 11: Exportar un archivo CSV en el navegador

Exportar un archivo CSV en el navegador

Cómo exportar CSV y Excel en Razor, Figura 12: Los datos del archivo CSV exportado

Los datos del archivo CSV exportado.

7. Conclusión

La exportación de datos a hojas de Excel y archivos CSV es una tarea común en el desarrollo web, y Razor y IronXL hacen que sea fácil de lograr. Con IronXL, los desarrolladores pueden crear fácilmente hojas de cálculo Excel y guardarlas en un archivo o flujo. Razor puede utilizarse entonces para generar contenidos dinámicos que incluyan enlaces al documento Excel, permitiendo a los usuarios descargarlos directamente desde la página web. Esto facilita la creación de informes y otros contenidos basados en datos que pueden compartirse fácilmente con otros usuarios.

La combinación de Razor y IronXL .NET Core Razor Pages proporciona un potente conjunto de herramientas para los desarrolladores web que deseen crear páginas web dinámicas basadas en datos. Para empezar a utilizar Razor y IronXL, es necesario tener Visual Studio y .NET Core SDK instalados. Después de eso, la creación de un nuevo proyecto de Visual Studio y la instalación de la biblioteca IronXL se puede hacer fácilmente. Por último, cambiando la interfaz de la página de inicio y creando un método OnPostExport, los desarrolladores pueden exportar datos a documentos Excel en unos sencillos pasos.

Para obtener más información sobre IronXL, Razor y cómo exportar datos a archivos Excel y CSV, visite la siguiente página webpágina.

IronXL es de uso gratuito para fines de desarrollo no comerciales. Aprueba gratuita está disponible para pruebas en producción. Mira elplanes de precios para obtener más información sobre precios y licencias.

Los usuarios también pueden beneficiarse deIron Suiteun conjunto de 5 bibliotecas profesionales ASP.NET Core que incluyenIronXLIronPDF, etc.

< ANTERIOR
Cómo Congelar una Fila en Excel (Guía para principiantes)
SIGUIENTE >
Cómo Desocultar Todas las Filas en Excel

¿Listo para empezar? Versión: 2024.11 acaba de salir

Descarga gratuita de NuGet Descargas totales: 1,086,940 Ver licencias >