Lire des fichiers Excel dans ASP.NET MVC en utilisant IronXL for .NET
Ce tutoriel guide les développeurs dans la mise en œuvre de l'analyse de fichiers Excel dans les applications ASP.NET MVC à l'aide d'IronXL.
Comment lire un fichier Excel en ASP.NET
- Installer une bibliothèque C# pour lire un fichier Excel en ASP.NET
- Charger et accéder à la feuille ciblée dans un fichier Excel
- Accès
ToDataTable
et y retournerVoir
- Afficher des données Excel sur une page web en utilisant une boucle
- Itérer à travers toutes les données et construire un tableau HTML à partir de celles-ci
Créer un projet ASP.NET
Utilisation de Visual Studio 2022(ou des versions de produits similaires), créez un nouveau projet ASP.NET. Ajoutez des paquets NuGet et du code source supplémentaires si nécessaire pour le projet en question.
Installer la bibliothèque IronXL
Commencez à utiliser IronXL dans votre projet dès aujourd'hui avec un essai gratuit.
Après avoir créé le nouveau projet, nous devons installer la bibliothèque IronXL. Suivez les étapes suivantes pour installer la bibliothèque IronXL. Ouvrez la console du gestionnaire de paquets NuGet et écrivez la commande suivante :
Install-Package IronXL.Excel
Lecture d'un fichier Excel
Ouvrez le contrôleur par défaut dans votre projet ASP.NET(c'est-à-dire HomeController) et remplacez la méthode Index
par le code suivant :
public ActionResult Index()
{
WorkBook workbook = WorkBook.Load(@"C:\Files\Customer Data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
var dataTable = sheet.ToDataTable();
return View(dataTable);
}
public ActionResult Index()
{
WorkBook workbook = WorkBook.Load(@"C:\Files\Customer Data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
var dataTable = sheet.ToDataTable();
return View(dataTable);
}
Public Function Index() As ActionResult
Dim workbook As WorkBook = WorkBook.Load("C:\Files\Customer Data.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()
Dim dataTable = sheet.ToDataTable()
Return View(dataTable)
End Function
Dans la méthode d'action Index
, nous chargeons le fichier Excel en utilisant la fonction Load
d'IronXL. Chemin d'accès au fichier Excel(y compris le nom du fichier) est fourni en tant que paramètre à l'appel de la méthode. Ensuite, nous sélectionnons la première feuille Excel comme feuille de travail et nous chargeons les données qu'elle contient dans un objet Datable
. Enfin, le Datable
est envoyé au frontend.
Afficher des données Excel sur une page Web
L'exemple suivant montre comment afficher dans un navigateur web le tableau de données renvoyé dans l'exemple précédent.
Le fichier Excel de travail qui sera utilisé dans cet exemple est illustré ci-dessous :
Fichier Excel
Ouvrez le fichier index.cshtml(vue de l'index) et remplacez le code par le code HTML suivant.
@{
ViewData ["Title"] = "Home Page";
}
@using System.Data
@model DataTable
<div class="text-center">
<h1 class="display-4">Welcome to IronXL Read Excel MVC</h1>
</div>
<table class="table table-dark">
<tbody>
@foreach (DataRow row in Model.Rows)
{
<tr>
@for (int i = 0; i < Model.Columns.Count; i++)
{
<td>@row [i]</td>
}
</tr>
}
</tbody>
</table>
@{
ViewData ["Title"] = "Home Page";
}
@using System.Data
@model DataTable
<div class="text-center">
<h1 class="display-4">Welcome to IronXL Read Excel MVC</h1>
</div>
<table class="table table-dark">
<tbody>
@foreach (DataRow row in Model.Rows)
{
<tr>
@for (int i = 0; i < Model.Columns.Count; i++)
{
<td>@row [i]</td>
}
</tr>
}
</tbody>
</table>
@
If True Then
ViewData ("Title") = "Home Page"
End If
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: using System.Data model DataTable <div class="text-center"> <h1 class="display-4"> Welcome to IronXL Read Excel MVC</h1> </div> <table class="table table-dark"> <tbody> foreach(DataRow row in Model.Rows)
"display-4"> Welcome [to] IronXL Read Excel MVC</h1> </div> <table class="table table-dark"> (Of tbody) foreach(DataRow row in Model.Rows)
If True Then
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: using System.Data model DataTable <div class="text-center"> <h1 class="display-4"> Welcome to IronXL Read Excel MVC</h1> </div> <table class
"text-center"> <h1 class="display-4"> Welcome [to] IronXL Read Excel MVC</h1> </div> <table class
[using] System.Data model DataTable <div class="text-center"> <h1 class
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' (Of tr) @for(int i = 0; i < Model.Columns.Count; i++)
' {
' <td> @row [i]</td>
' }
</tr>
End If
'INSTANT VB TODO TASK: The following line uses invalid syntax:
' </tbody> </table>
Le code ci-dessus utilise le Datable
retourné par la méthode Index
comme modèle. Chaque ligne du tableau est imprimée sur la page web à l'aide d'une boucle @for
, en incluant le formatage Bootstrap pour la décoration.
L'exécution du projet produira les résultats ci-dessous.
Tableau Bootstrap