
Comment générer un fichier Excel sur Razor Pages
Razor Pages propose une approche moderne de la création de pages web. Dans Razor Pages, le code source qui génère la page web est écrit en C# au lieu d'être généré par un serveur.
Pour une manipulation efficace des fichiers Excel, la bibliothèque IronXL est recommandée de préférence à d'autres solutions comme le package NPOI du projet Java POI (notamment utilisé avec les fichiers PowerPoint) et Office Interop. IronXL est une bibliothèque riche en fonctionnalités et facile à utiliser, qui ne nécessite pas Microsoft Office et prend en charge plusieurs versions de .NET.
Cet article montre 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 lignes dans Razor Pages.
Comment générer des fichiers Excel dans Razor Pages
- Installer la bibliothèque C# pour générer des fichiers Excel dans Razor
- Accédez à un fichier Excel ou créez-en un nouveau à l'aide d'une méthode.
- Ajoutez des données et un style à l'objet WorkBook dans Razor
- Utilisez la méthode Fichier pour télécharger automatiquement le fichier Excel lorsque vous appuyez sur le bouton.
- Examinez le fichier Excel généré
IronXL : Bibliothèque Excel C#
IronXL est une bibliothèque Excel C# qui propose des méthodes et des fonctions permettant de traiter de grands ensembles de données en utilisant le traitement parallèle pour accroître la puissance de calcul. Il est convivial car il ne nécessite pas de comprendre son fonctionnement interne et prend en charge les fichiers XLS et XLSX.
IronXL est idéal pour importer, exporter, créer des formules Excel et des documents bureautiques sans nécessiter l'installation de Microsoft Office.
Apprenez à importer et exporter des fichiers Excel dans Razor Pages à l'aide d'IronXL.
Générer un fichier Excel dans Razor Pages
Pour créer des feuilles Excel dans Razor Pages, commencez par ouvrir Visual Studio, créer une application Web ASP.NET Core et installer IronXL.
Prérequis
La configuration pour créer des fichiers Excel dans Razor Pages nécessite :
- Visual Studio (dernière version)
- .NET Framework 6 ou 7
- Application Web .NET Core dans Visual Studio
Installer la bibliothèque IronXL
Installez IronXL à l'aide de la console du gestionnaire de packages NuGet. Saisissez cette commande pour installer la bibliothèque dans une application Web .NET Core :
Code pour générer un fichier Excel
Voici comment écrire le code. Ouvrez le fichier " Index.cs " dans le dossier Pages et ajoutez la méthode suivante :
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");
}Public Function OnPostExport() As FileResult
' Create a new WorkBook with XLSX format
Dim workBook As New WorkBook(IronXL.ExcelFileFormat.XLSX)
' Create a new WorkSheet named "data"
Dim workSheet As 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")
End FunctionIn this code, a new Excel WorkBook is created and contains one WorkSheet. La feuille de calcul est remplie de données fictives, et le fichier généré est renvoyé au serveur avec :
- Le
WorkBookest converti en unStreamà télécharger en tant que fichier. - Le type MIME est défini.
- Un nom est spécifié pour le fichier à télécharger.
Créez un bouton pour télécharger le fichier Excel
Remplacez le code existant dans " Index.cshtml " par le code suivant :
@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>
Cet HTML crée un formulaire avec asp-page-handler défini sur "Export", permettant à l'application d'exporter le fichier Excel sur la machine locale lorsque l'utilisateur clique sur le bouton "Générer le fichier Excel !", déclenchant un téléchargement par le navigateur.
Exécuter le projet
Exécutez le projet et vous verrez un écran dans votre navigateur. Cliquez sur le bouton vert pour télécharger le fichier Excel.
IronXL génère des feuilles Excel
Après avoir cliqué sur " Générer le fichier Excel ! ", le fichier sera téléchargé.
Fichier téléchargé IronXL
Ouvrez le fichier Excel généré
Le contenu du fichier Excel généré correspond parfaitement à la sortie du code, avec une mise en forme impeccable. Un aperçu du fichier Excel généré est affiché ci-dessous.
Fichier généré par IronXL
IronXL meilleur que ses concurrents
IronXL est un outil supérieur pour travailler avec les formats XLS et XLSX sans les limitations de NPOI, qui est plus lent car basé sur Java, tandis qu'IronXL est en C#. Dans les applications ASP.NET Core générant de grandes feuilles de calcul/plusieurs feuilles de calcul, privilégiez IronXL à POI.
IronXL permet de créer et de modifier des fichiers Excel sans Microsoft Office. Contrairement à Microsoft Interop, IronXL n'a pas besoin d'utiliser ActiveX pour les opérations ou les exportations Excel. Il permet également d'exporter des fichiers CSV au format Excel.
IronXL offre également de nombreuses fonctionnalités pour interagir avec les fichiers Excel, notamment la conversion entre les formats populaires , l'insertion de fonctions mathématiques , l'ajout de graphiques et l'insertion d'images .
Conclusion
Cet article présente l'utilisation d'IronXL pour générer un fichier Excel dans Razor Pages sans avoir besoin de Microsoft Excel ActiveX et facilite le téléchargement des fichiers.
Explorez d'autres tutoriels sur la création de fichiers Excel .
IronXL est gratuit pour le développement non commercial. Un essai gratuit est disponible pour les tests de production. Consultez les plans tarifaires pour plus de détails sur les prix et les licences.

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.
Articles connexes



