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);
Comment exporter des données vers Excel dans Blazor en utilisant IronXL
Mise à jour janvier 29, 2024
Partager:
Ce tutoriel explique comment exporter des données vers des fichiers Excel dans une application Web Blazor avec une présentation attrayante, en utilisant la bibliothèque IronXL pour générer et télécharger des données dans des fichiers Excel.
Comment exporter des données vers Excel en C# Blazer
Utiliser des API intuitives pour créer et remplir des classeurs Excel
Convertir le classeur créé en Tableau d'octets en C#
Invoquer l'exécution de la classe avec InvokeAsync
Exporter le fichier Excel en utilisant Convert.ToBase64String dans le projet Blazor
IronXL : Bibliothèque Excel C
IronXL est une bibliothèque Excel C# conçue pour prendre en charge les tâches les plus fastidieuses dans Excel, celles qui sont répétées de nombreuses fois. IronXL est suffisamment puissant pour traiter les problèmes les plus complexes dans Excel. Il peut traiter facilement d'énormes ensembles de données et de grandes cellules, ce qui a été une tâche difficile pour de nombreux développeurs qui utilisent Excel pour leur travail. Cette bibliothèque les aide à développer des applications capables de lire et d'écrire directement des données Excel sans avoir besoin de s'interfacer avec des fichiers ou des bibliothèques Microsoft Office sur Windows.
La bibliothèque IronXL peut être utilisée pour créer une variété de feuilles de calcul telles que des factures, des rapports de dépenses ou des rapports de vente. En outre, il peut contribuer à rationaliser les processus d'analyse des données ou de création de rapports sur votre lieu de travail en automatisant des tâches telles que la fusion d'ensembles de données complexes. IronXLprend en charge plusieurs formats de fichiers.
La principale caractéristique d'IronXL permet aux développeurs de créer, d'éditer, de manipuler et de lire des fichiers Excel sans avoir besoin de Microsoft Excel. Cela signifie qu'il n'est pas nécessaire d'installer Microsoft Excel sur votre système. Cette fonctionnalité offre de nombreuses possibilités aux développeurs, en simplifiant l'intégration des données Excel dans les applications. Par exemple, un développeur peut générer automatiquement des rapports à partir d'une base de données et les exporter vers Excel pour les distribuer facilement. Pour un guide détaillé sur la lecture de fichiers Excel en C#, consultez ce documentC# Lire un fichier Excel tutoriel.
using IronXL;
class Program
{
static void Main()
{
License.LicenseKey = "License-Key;
// Load an existing Excel file
WorkBook workbook = WorkBook.Load("ExistingData.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// For example, changing the sales value in cell C2
if (sheet["C2"].IsEmpty == false)
{
double currentSales = sheet["C2"].DoubleValue;
// Increase sales by 10%
sheet["C2"].Value = currentSales * 1.10;
}
// Save the changes back to the same file or a new file
workbook.SaveAs("UpdatedData.xlsx");
}
}
using IronXL;
class Program
{
static void Main()
{
License.LicenseKey = "License-Key;
// Load an existing Excel file
WorkBook workbook = WorkBook.Load("ExistingData.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// For example, changing the sales value in cell C2
if (sheet["C2"].IsEmpty == false)
{
double currentSales = sheet["C2"].DoubleValue;
// Increase sales by 10%
sheet["C2"].Value = currentSales * 1.10;
}
// Save the changes back to the same file or a new file
workbook.SaveAs("UpdatedData.xlsx");
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText $csharpLabel
Exporter des données vers Excel à partir d'un projet Blazor
Suivons les étapes pour créer un fichier Excel à partir d'une application Web Blazor.
Conditions préalables
Pour exporter des fichiers Excel dans une application serveur Blazor, il y a quelques conditions préalables :
Visual Studio(la dernière version)
.NET Framework 6 ou 7
Exécution de l'application Blazor Server dans Visual Studio
Connexion Internet stable pour installer la bibliothèque IronXL
Installer la bibliothèque IronXL
Il est maintenant temps d'installer la bibliothèque IronXL à l'aide de la console NuGet Package Manager. Ouvrez la console du gestionnaire de paquets NuGet et écrivez la commande suivante :
Install-Package IronXL.Excel
Cette commande installera la dernière version d'IronXL dans l'application.
Code pour télécharger le fichier Excel exporté
Après l'installation d'IronXL, créez un dossier portant le nom "js" dans la section "wwwroot" de l'explorateur de solutions. Dans le dossier "js", créez un fichier JavaScript nommé "SaveAsFile.js", comme le montre la capture d'écran suivante.
js Folder
Ajoutez maintenant le code suivant dans le fichier "SaveAsFile.js". Cette fonction renverra aux utilisateurs les fichiers générés sous forme de flux.
function saveAsFile(filename, byteBase64) {
var link = document.createElement('a');
link.download = filename;
link.href = "data:application/octet-stream;base64," + byteBase64;
document.body.appendChild(link); // Needed for Firefox link
link.click();
document.body.removeChild(link);
}
function saveAsFile(filename, byteBase64) {
var link = document.createElement('a');
link.download = filename;
link.href = "data:application/octet-stream;base64," + byteBase64;
document.body.appendChild(link); // Needed for Firefox link
link.click();
document.body.removeChild(link);
}
JAVASCRIPT
Ensuite, ajoutez le chemin relatif vers le fichier "SaveAsFile.js" dans le fichier "_Host.cshtml". Cela permettra à l'application d'invoquer la fonction JavaScript définie précédemment.
<script src="~/js/SaveAsFile.js"></script>
<script src="~/js/SaveAsFile.js"></script>
HTML
Code pour exporter un fichier Excel
Créez une classe nommée "ExcelExport.cs" dans le dossier Data.
ExcelExport.cs
Écrivez le code suivant pour exporter des données dans le fichier "ExcelExport.cs".
using IronXL;
using Microsoft.JSInterop;
using System;
namespace Export_Excel_Blazor.Data
{
public class ExcelExport
{
public void ExcelGenerate(IJSRuntime iJSRuntime)
{
byte [] fileContents;
WorkBook xlsxWorkbook = WorkBook.Create(IronXL.ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";
//Add a blank WorkSheet
WorkSheet xlsxSheet = xlsxWorkbook.CreateWorkSheet("new_sheet");
//Add data and styles to the new worksheet
xlsxSheet ["A1"].Value = "Product EN";
xlsxSheet ["B1"].Value = "SKU";
xlsxSheet ["C1"].Value = "Customer";
xlsxSheet ["A1:C1"].Style.Font.Bold = true;
xlsxSheet ["A2"].Value = "Iron Rods";
xlsxSheet ["A3"].Value = "Mobile Phones";
xlsxSheet ["A4"].Value = "Chargers";
xlsxSheet ["B2"].Value = "105";
xlsxSheet ["B3"].Value = "285";
xlsxSheet ["B4"].Value = "301";
xlsxSheet ["C2"].Value = "Adam";
xlsxSheet ["C3"].Value = "Ellen";
xlsxSheet ["C4"].Value = "Tom";
fileContents = xlsxWorkbook.ToByteArray();
iJSRuntime.InvokeAsync<ExcelExport>(
"saveAsFile",
"GeneratedExcel.xlsx",
Convert.ToBase64String(fileContents)
);
}
}
}
using IronXL;
using Microsoft.JSInterop;
using System;
namespace Export_Excel_Blazor.Data
{
public class ExcelExport
{
public void ExcelGenerate(IJSRuntime iJSRuntime)
{
byte [] fileContents;
WorkBook xlsxWorkbook = WorkBook.Create(IronXL.ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";
//Add a blank WorkSheet
WorkSheet xlsxSheet = xlsxWorkbook.CreateWorkSheet("new_sheet");
//Add data and styles to the new worksheet
xlsxSheet ["A1"].Value = "Product EN";
xlsxSheet ["B1"].Value = "SKU";
xlsxSheet ["C1"].Value = "Customer";
xlsxSheet ["A1:C1"].Style.Font.Bold = true;
xlsxSheet ["A2"].Value = "Iron Rods";
xlsxSheet ["A3"].Value = "Mobile Phones";
xlsxSheet ["A4"].Value = "Chargers";
xlsxSheet ["B2"].Value = "105";
xlsxSheet ["B3"].Value = "285";
xlsxSheet ["B4"].Value = "301";
xlsxSheet ["C2"].Value = "Adam";
xlsxSheet ["C3"].Value = "Ellen";
xlsxSheet ["C4"].Value = "Tom";
fileContents = xlsxWorkbook.ToByteArray();
iJSRuntime.InvokeAsync<ExcelExport>(
"saveAsFile",
"GeneratedExcel.xlsx",
Convert.ToBase64String(fileContents)
);
}
}
}
Imports IronXL
Imports Microsoft.JSInterop
Imports System
Namespace Export_Excel_Blazor.Data
Public Class ExcelExport
Public Sub ExcelGenerate(ByVal iJSRuntime As IJSRuntime)
Dim fileContents() As Byte
Dim xlsxWorkbook As WorkBook = WorkBook.Create(IronXL.ExcelFileFormat.XLSX)
xlsxWorkbook.Metadata.Author = "IronXL"
'Add a blank WorkSheet
Dim xlsxSheet As WorkSheet = xlsxWorkbook.CreateWorkSheet("new_sheet")
'Add data and styles to the new worksheet
xlsxSheet ("A1").Value = "Product EN"
xlsxSheet ("B1").Value = "SKU"
xlsxSheet ("C1").Value = "Customer"
xlsxSheet ("A1:C1").Style.Font.Bold = True
xlsxSheet ("A2").Value = "Iron Rods"
xlsxSheet ("A3").Value = "Mobile Phones"
xlsxSheet ("A4").Value = "Chargers"
xlsxSheet ("B2").Value = "105"
xlsxSheet ("B3").Value = "285"
xlsxSheet ("B4").Value = "301"
xlsxSheet ("C2").Value = "Adam"
xlsxSheet ("C3").Value = "Ellen"
xlsxSheet ("C4").Value = "Tom"
fileContents = xlsxWorkbook.ToByteArray()
iJSRuntime.InvokeAsync(Of ExcelExport)("saveAsFile", "GeneratedExcel.xlsx", Convert.ToBase64String(fileContents))
End Sub
End Class
End Namespace
$vbLabelText $csharpLabel
Dans l'exemple ci-dessus, la bibliothèque IronXL crée un fichier ExcelWorkBook (livre de travail) au format XLSX. IronXL prend également en charge le format XLS. Un WorkBook est nécessaire pour avoir unFeuille de travail ajouté. L'étape suivante consiste à remplir cette feuille avec des données fictives.
Ensuite, tout le contenu de WorkBook est converti en tableau d'octets et IJSRuntime est déclenché pour télécharger le fichier avec les paramètres suivants : le nom de la fonction JavaScript, le nom du fichier exporté, et le tableau d'octets de WorkBook.
Créer un composant Razor
Créez un composant Razor nommé "ExportExcel.razor" dans le dossier Pages.
ExcelExport.cs
Ensuite, remplacez le code source de "ExportExcel.razor" par celui donné ci-dessous.
@page "/export"
@using Export_Excel_Blazor.Data
@inject IJSRuntime JS
<h1>IronXL Export Excel File</h1>
<p>Intuitive C# & VB.NET Excel API & No need to install MS Office or Excel Interop</p>
<button class="btn btn-primary" @onclick="ExcelGeneration">Create Excel File</button>
@code {
private void ExcelGeneration()
{
ExcelExport excelExport = new ExcelExport();
excelExport.ExcelGenerate(JS);
}
}
@page "/export"
@using Export_Excel_Blazor.Data
@inject IJSRuntime JS
<h1>IronXL Export Excel File</h1>
<p>Intuitive C# & VB.NET Excel API & No need to install MS Office or Excel Interop</p>
<button class="btn btn-primary" @onclick="ExcelGeneration">Create Excel File</button>
@code {
private void ExcelGeneration()
{
ExcelExport excelExport = new ExcelExport();
excelExport.ExcelGenerate(JS);
}
}
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: @page "/export" using Export_Excel_Blazor.Data inject IJSRuntime JS <h1> IronXL Export Excel File</h1> <p> Intuitive C# & VB.NET Excel API & No need to install MS Office or Excel Interop</p> <button class="btn btn-primary" onclick="ExcelGeneration"> Create Excel File</button> @code
"btn btn-primary" onclick="ExcelGeneration"> Create Excel File</button> code
Private Friend page "/export" [using] Export_Excel_Blazor.Data inject IJSRuntime JS (Of h1) IronXL Export Excel File</h1> (Of p) Intuitive C# & VB.NET Excel API And No need [to] install MS Office [or] Excel Interop</p> <button Class="btn btn-primary" onclick
Private Sub ExcelGeneration()
Dim excelExport As New ExcelExport()
excelExport.ExcelGenerate(JS)
End Sub
End Class
$vbLabelText $csharpLabel
Dans le code HTML ci-dessus, créez un bouton avec une propriété onclick pointant vers la fonction ExcelGeneration. Ensuite, la fonction ExcelGeneration à l'intérieur de la section @code est ajoutée avec du code C# pour gérer la fonction d'exportation.
Ajouter un lien de navigation
Ajoutez le code suivant dans le fichier "NavMenu.razor". Il ajoutera une barre de navigation pour accéder à la page Génération Excel.
Enfin, exécutez le projet. Vous obtiendrez le résultat suivant dans le navigateur. Allez dans le menu naval "Exporter Excel" et cliquez sur le bouton "Créer un fichier Excel".
ExportExcel.razor
L'application exporte les données vers une feuille de calcul Excel et télécharge le fichier XLSX sur votre machine.
Télécharger Excel
Feuille de calcul Excel générée
Voici l'aperçu du fichier Excel généré.
Généré par Excel
Résumé
Cet article a passé en revue le processus de génération et d'exportation de fichiers Excel dans l'application Blazor à l'aide d'IronXL. IronXL est un outil formidable pour les développeurs .NET qui doivent manipuler des fichiers Excel dans le logiciel sans installer Microsoft Office sur la machine. IronXL offre un moyen beaucoup plus rapide de construire des fichiers Excel dans .NET.
IronXL est basé sur le langage C# et permet de développer rapidement et facilement du code pour créer des interfaces utilisateur interactives et très réactives dans l'application de tableur la plus populaire au monde. Microsoft Interop est une bibliothèque relativement plus lente qui nécessite un codage plus complexe. Microsoft Interop est plus lent qu'IronXL car il nécessite l'utilisation de COM pour la lecture et l'écriture des données. Explorez d'autres articles liés à IronXL surcomment exporter des fichiers Excelcontrôler la façon dont les cellules sont affichées dans un classeur Excel à l'aide de la fonctionquadrillagela gestion des cartes, etl'alignement du texte, la taille de la police, la couleur.
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 Tutoriel sur l'analyseur CSV en C# (étape par étape)
SUIVANT > Comment générer un fichier Excel sur Razor Pages
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