using IronXL;
using System;
using System.Linq;
// Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select a cell and return the converted value
int cellValue = workSheet["A2"].IntValue;
// Read from ranges of cells elegantly.
foreach (var cell in workSheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Calculate aggregate values such as Min, Max and Sum
decimal sum = workSheet["A2:A10"].Sum();
// Linq compatible
decimal max = workSheet["A2:A10"].Max(c => c.DecimalValue);
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).
Comment générer des fichiers Excel dans Razor Pages
Utiliser la méthode Fichier pour télécharger automatiquement un fichier Excel lorsque le bouton est enfoncé
Examiner le fichier Excel généré
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 :
Visual Studio(Dernière version)
.NET Framework 6 ou 7
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 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
$vbLabelText $csharpLabel
Dans le code ci-dessus, un nouveau fichier ExcelWorkBook (livre de travail) est créé et contient unFeuille 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.
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
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.
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 formatASP.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.
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.
L'utilisation d'IronXL est gratuite à des fins de développement non commerciales. Aessai gratuit est disponible pour être testé en production. Regardez leplans tarifaires pour plus de détails sur les prix et les licences.
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT Comment exporter des données vers Excel dans Blazor en utilisant IronXL
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier