Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Les pages Razor sont une nouvelle façon de construire des pages web. Avec Razor Pages, le code source qui rend la page web est construit en C# au lieu d'être généré par une page côté serveur.
Pour travailler efficacement avec des fichiers Excel, il est recommandé d'utiliser la bibliothèque IronXL plutôt que d'autres bibliothèques telles que le package NPOI du projet Java POI (qui peut également être utilisé avec des fichiers PowerPoint) et Office Interop. Il s'agit d'une bibliothèque riche en fonctionnalités, simple, facile à utiliser et ne nécessitant pas Microsoft Office. Cette bibliothèque devrait également prendre en charge plusieurs versions de .NET.
Cet article explique comment utiliser la bibliothèque IronXL C# pour générer et exporter des feuilles de calcul Excel avec des données fictives et des en-têtes de ligne dans Razor Pages (Modèle de page).
IronXL est une bibliothèque Excel C# qui fournit des méthodes et des fonctions permettant d'opérer sur de grands ensembles de données. Il utilise le traitement parallèle pour obtenir une plus grande puissance de calcul. Il est facile à utiliser pour les programmeurs car il ne nécessite aucune connaissance sur le fonctionnement du processus en coulisses. Il prend en charge les fichiers XLS et XLSX.
IronXL prend également en charge l'importation et l'exportation de fichiers Excel, ainsi que la création de formules Excel et de documents Office. C'est la solution idéale pour ceux qui ne veulent pas installer Microsoft Office sur leur machine.
Voyons comment importer et exporter des fichiers Excel dans Razor Pages avec IronXL.
Pour créer des feuilles Excel dans Razor Pages, ouvrez Visual Studio, créez une application web ASP.NET Core et installez IronXL.
Pour créer des fichiers Excel dans Razor Pages, il y a quelques conditions préalables :
Visual Studio (Dernière version)
.NET Framework 6 ou 7
Vous pouvez l'installer à l'aide de la console NuGet Package Manager. Ouvrez la console et écrivez la commande suivante pour installer la bibliothèque IronXL for .NET dans une application Web .NET Core.
Install-Package IronXL.Excel
Il est maintenant temps d'écrire du code. Ouvrez le fichier "Index.cs" du dossier Pages et ajoutez la méthode suivante :
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 = "Product EN";
workSheet ["B1"].Value = "SKU";
workSheet ["C1"].Value = "Customer";
workSheet ["A1:C1"].Style.Font.Bold = true;
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";
return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.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 = "Product EN";
workSheet ["B1"].Value = "SKU";
workSheet ["C1"].Value = "Customer";
workSheet ["A1:C1"].Style.Font.Bold = true;
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";
return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.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 = "Product EN"
workSheet ("B1").Value = "SKU"
workSheet ("C1").Value = "Customer"
workSheet ("A1:C1").Style.Font.Bold = True
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"
Return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx")
End Function
Dans le code ci-dessus, un nouveau fichier Excel WorkBook
(livre de travail) est créé et contient un Feuille de travail
. Ensuite, la feuille est remplie avec des données fictives et renvoie le fichier généré dans une réponse du serveur avec les paramètres suivants :
WorkBook
en Stream
(parce qu'il est important de convertir le fichier en flux avant de le télécharger).Remplacez le code existant dans "Index.cshtml" par le code ci-dessous :
@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# and 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>
@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# and 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>
Dans le code HTML ci-dessus, créez une balise de formulaire dont la propriété "asp-page-handler" est définie sur "Export". Cela permettra à l'application d'exporter un fichier Excel sur la machine locale. En outre, créez un bouton avec le texte "Générer un fichier Excel"!". Lorsque l'utilisateur clique sur ce bouton, le navigateur télécharge le fichier Excel généré.
Exécutez maintenant le projet et vous verrez l'écran suivant dans le navigateur. Cliquez sur le bouton vert pour télécharger le fichier Excel.
IronXL génère des feuilles Excel
Vous verrez le fichier téléchargé en bas lorsque vous cliquerez sur le bouton "Générer un fichier Excel"!".
Fichier téléchargé d'IronXL
Le contenu du fichier Excel généré est conforme à ce qui est écrit dans le code, avec un formatage parfait. Vous pouvez voir l'instantané du fichier Excel généré ci-dessous.
Fichier généré par IronXL
La bibliothèque IronXL est un outil plus puissant pour travailler avec Excel, qui supporte aussi bien XLS que XLSX et n'a pas les limitations de NPOI. NPOI fonctionne beaucoup plus lentement qu'IronXL, car il est écrit en Java et non en C#. Par conséquent, il est préférable d'opter pour IronXL plutôt que pour POI lorsque vous souhaitez générer des feuilles de calcul volumineuses/multiples dans le format ASP.NET Applications de base.
IronXL est une excellente bibliothèque pour créer et modifier des fichiers Excel sans utiliser Microsoft Office. Contrairement à Microsoft Interop, IronXL n'a pas besoin d'appeler l'ActiveX de Microsoft Excel en arrière-plan pour effectuer des opérations Excel et pour exporter vers Excel. IronXL peut fonctionner sans la suite Microsoft Office. IronXL peut également exporter des fichiers CSV au format Excel.
En outre, IronXL offre un large éventail de fonctions permettant d'interagir avec les fichiers Excel, notamment la conversion entre les formats les plus courants, insertion de fonctions mathématiqueset même d'ajouter des graphiques et des insertion d'images.
Cet article a présenté comment utiliser IronXL pour générer un fichier Excel dans Razor Pages, d'une manière qui ne nécessite pas d'appeler Microsoft Excel ActiveX et de télécharger le fichier.
Visitez le lien suivant pour plus d'informations tutoriels sur la création de fichiers Excel.
L'utilisation d'IronXL est gratuite à des fins de développement non commerciales. A essai gratuit est disponible pour être testé en production. Regardez le plans tarifaires pour plus de détails sur les prix et les licences.
9 produits de l'API .NET pour vos documents de bureau