Lire des fichiers Excel dans ASP.NET MVC en utilisant IronXL for .NET

This article was translated from English: Does it need improvement?
Translated
View the article in English

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.

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.

Première étape :
green arrow pointer


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
VB   C#

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 :

Lire des fichiers Excel dans ASP.NET MVC en utilisant IronXL, Figure 1 : Fichier Excel

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>
VB   C#

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.

Lire les fichiers Excel dans ASP.NET MVC en utilisant IronXL, Figure 2 : Tableau Bootstrap

Tableau Bootstrap