UTILISATION D'IRONXL

Comment générer un fichier Excel sur Razor Pages

Mise à jour janvier 29, 2024
Partager:

Introduction

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 : Bibliothèque Excel C

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.

Générer un fichier Excel dans Razor Pages

Pour créer des feuilles Excel dans Razor Pages, ouvrez Visual Studio, créez une application web ASP.NET Core et installez IronXL.

Conditions préalables

Pour créer des fichiers Excel dans Razor Pages, il y a quelques conditions préalables :

  1. Visual Studio (Dernière version)

  2. .NET Framework 6 ou 7

  3. application Web .NET Core dans Visual Studio

Installer la bibliothèque IronXL

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

Code pour la génération d'un fichier 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
VB   C#

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 :

  • Convertir le WorkBook en Stream (parce qu'il est important de convertir le fichier en flux avant de le télécharger).
  • Définir le type de données
  • Spécifiez le nom du fichier à télécharger.

Créer un bouton pour télécharger le fichier Excel

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>
HTML

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écuter le projet

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.

Comment générer un fichier Excel sur Razor Pages, Figure 1 : IronXL génère des feuilles 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"!".

Comment générer un fichier Excel sur Razor Pages, Figure 2 : Fichier IronXL téléchargé

Fichier téléchargé d'IronXL

Ouvrir le fichier Excel généré

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.

Comment générer un fichier Excel sur Razor Pages, Figure 3 : Fichier généré par IronXL

Fichier généré par IronXL

IronXL meilleur que ses concurrents

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.

Conclusion

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.

< PRÉCÉDENT
Comment exporter des données vers Excel dans Blazor en utilisant IronXL
SUIVANT >
Comment utiliser un analyseur CSV en C#