Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
¿Busca una forma de exportar datos a un archivo Excel utilizando Razor Pages? Este artículo explica cómo hacerlo utilizando IronXL for .NET.
CrearHojaTrabajo
para crear Hoja de trabajoIronXL 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.
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:
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.
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.
Para crear un nuevo proyecto de Visual Studio, siga estos pasos:
Abre Visual Studio.
Haga clic en "Crear un nuevo proyecto" en la ventana de inicio, o en "Archivo" > "Nuevo" > "Proyecto" en la barra de menús.
Ventana de inicio de Visual Studio
Seleccione el tipo de proyecto que desea crear, para utilizar Razor Pages, seleccione ASP.NET Core Web App y haga clic en Next.
Cree una nueva aplicación web .NET Core en Visual Studio.
Aparecerá una nueva ventana, escribe el nombre de tu nuevo proyecto y su ubicación. A continuación, haga clic en Siguiente.
Configurar el nuevo proyecto
Ahora en la nueva ventana seleccione su Framework de destino, marque la opción configurar para HTTPS y haga clic en crear.
La biblioteca IronXL puede descargarse e instalarse de distintas formas.
Estos son:
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.
Navegue hasta el Gestor de paquetes NuGet.
IronXL en los resultados de búsqueda:
**Busca IronXL en la interfaz de usuario del gestor de paquetes NuGet.
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:
Install-Package IronXL.Excel
Ahora el paquete se descargará/instalará en el proyecto actual y estará listo para su uso.
Instala IronXL en la Consola del Gestor de Paquetes
Una vez creado el proyecto, se crea una interfaz sencilla de la aplicación Razor. Ahora cambia la interfaz para exportar a Excel export.
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>
Este código cambiará la interfaz de la página de inicio y añadirá el 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
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.
Exportar un archivo XLSX en el navegador
**Los datos del archivo XLSX exportado.
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")
Exportar un archivo CSV en el navegador
Los datos del archivo CSV exportado.
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.
9 productos API .NET para sus documentos de oficina