
Comment ouvrir un fichier Excel dans ASP.NET Core
Ce tutoriel démontrera comment ouvrir un fichier Excel en utilisant IronXL dans une application ASP.NET Core en utilisant la bibliothèque IronXL. Il couvrira les étapes de base pour lire des fichiers Excel, puis afficher les données de ceux-ci et enregistrer les données modifiées dans le fichier.
Qu'est-ce qu'IronXL ?
IronXL est une bibliothèque Excel .NET qui fournit des fonctionnalités pour travailler avec des documents Excel sans nécessiter Microsoft Excel ou les dépendances Office Interop. Il prend en charge à la fois le .NET Framework et le .NET Core, fournissant des capacités pour écrire, manipuler et lire des fichiers Excel avec seulement quelques lignes de code. Pour un tutoriel détaillé sur la lecture de fichiers Excel, veuillez vous référer à ce tutoriel Excel.
La bibliothèque IronXL peut lire et écrire des documents Excel, extraire des données de ceux-ci, manipuler les données, et même créer de nouveaux fichiers Excel à partir de zéro. IronXL ne prend pas en charge uniquement le format .XLS mais est également compatible avec .XLSX, qui est un format de fichier basé sur XML développé par Microsoft pour représenter des tableurs.
Prérequis
Avant de plonger dans le code, assurez-vous d'avoir les éléments suivants :
- .NET Core 3.1 ou supérieur installé.
- Un IDE adapté au développement .NET (Microsoft Visual Studio est recommandé).
- Compréhension de base d'ASP.NET Core et Razor Pages.
Créer un nouveau projet .NET Core
- Ouvrez Microsoft Visual Studio et sélectionnez " Créer un nouveau projet ".
- Choisissez " Application Web ASP.NET Core " dans la liste des modèles de projet et cliquez sur " Suivant ".
- Donnez un nom à votre projet, par exemple, " Open_Excel_File_.NET_Core ", sélectionnez un emplacement et cliquez sur " Suivant ".
- Choisissez " .NET Core " comme framework cible et " ASP.NET Core 3.1 ou supérieur " comme version. Dans la section " Modèle de projet ", sélectionnez " Application Web " et cliquez sur " Créer ".
Installer le package IronXL
L'étape suivante consiste à installer le package IronXL dans ce projet nouvellement créé :
-
Cliquez droit sur le projet dans l'Explorateur de solutions et sélectionnez " Gérer les packages NuGet ".
-
Dans l'onglet " Parcourir ", recherchez " IronXL " et cliquez sur " Installer " pour le package IronXL.Excel.
Recherche et installation du package IronXL dans l'interface utilisateur du gestionnaire de packages NuGet -
Attendez que le package soit installé.
Votre projet ASP.NET Core est maintenant configuré, et la bibliothèque IronXL est installée et prête à être utilisée.
Créer une Page Razor
Maintenant, créons une Page Razor pour écrire le code pour ouvrir le fichier Excel.
-
Cliquez droit sur le dossier " Pages " dans l'Explorateur de solutions et sélectionnez " Ajouter " > " Page Razor ".
-
Entrez " ExcelOpener " comme nom de la Page et cliquez sur " Ajouter ".
Créer une nouvelle Page Razor
Cela créera deux fichiers : ExcelOpener.cshtml et ExcelOpener.cshtml.cs.
Le fichier ExcelOpener.cshtml contient le balisage HTML pour la page, et le fichier ExcelOpener.cshtml.cs contient le code C# associé à la page.
Lecture de fichiers Excel
Passons au code. La classe fournie ExcelOpenerModel est un modèle de page Razor. Cette classe a une propriété List<List<string>> Data, qui sera utilisée pour stocker les données lues à partir d'un fichier Excel.
public List<List<string>> Data { get; set; }
public ExcelOpenerModel()
{
Data = new List<List<string>>();
}Public Property Data() As List(Of List(Of String))
'INSTANT VB WARNING: The following constructor is declared outside of its associated class:
'ORIGINAL LINE: public ExcelOpenerModel()
Public Sub New()
Data = New List(Of List(Of String))()
End SubDans la méthode OnGet, IronXL est utilisé pour charger un fichier Excel et lire les données à partir de la feuille de calcul par défaut (la première feuille dans le classeur). Chaque ligne est représentée comme une List<string>, et toutes ces listes sont ensuite ajoutées à la propriété Data.
public void OnGet()
{
try
{
Data = new List<List<string>>();
// Load your Excel file
var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx");
// Select your Worksheet
WorkSheet sheet = workbook.DefaultWorkSheet;
for (int i = 0; i < sheet.RowCount; i++)
{
var row = new List<string>();
for (int j = 0; j < sheet.ColumnCount; j++)
{
row.Add(sheet.GetCellAt(i, j).Value.ToString());
}
Data.Add(row);
}
}
catch (Exception ex)
{
// Handle exceptions here
Console.WriteLine(ex.Message);
}
}Public Sub OnGet()
Try
Data = New List(Of List(Of String))()
' Load your Excel file
Dim workbook = WorkBook.Load("C:\Users\Administrator\Documents\Loan.xlsx")
' Select your Worksheet
Dim sheet As WorkSheet = workbook.DefaultWorkSheet
For i As Integer = 0 To sheet.RowCount - 1
Dim row = New List(Of String)()
For j As Integer = 0 To sheet.ColumnCount - 1
row.Add(sheet.GetCellAt(i, j).Value.ToString())
Next j
Data.Add(row)
Next i
Catch ex As Exception
' Handle exceptions here
Console.WriteLine(ex.Message)
End Try
End SubMéthodes clés expliquées
WorkBook.Load(filepath): Cette méthode charge le document Excel depuis le chemin de fichier spécifié. Elle aide à charger et lire la feuille Excel.workbook.DefaultWorkSheet: Cette propriété obtient la feuille de calcul Excel par défaut (première) dans le tableau.sheet.GetCellAt(i, j).Value.ToString(): Cela obtient la cellule aux indices de ligne et de colonne spécifiés et convertit sa valeur en chaîne. C'est un exemple de méthode d'index qui peut accéder à des cellules ou plages spécifiques dans un fichier Excel en fonction des indexes de ligne et de colonne.
Courte explication
Dans le fichier ExcelOpener.cshtml.cs, une classe nommée ExcelOpenerModel représente le modèle de page Razor. Elle contient une propriété nommée Data de type List<List<string>>, qui contiendra les données du fichier Excel.
La méthode OnGet est appelée lorsque la page est demandée et est responsable de la lecture des données à partir du fichier Excel. Elle utilise IronXL pour charger le fichier Excel, sélectionne la feuille de calcul par défaut, et parcourt les lignes et colonnes pour remplir la propriété Data.
Écriture de fichiers Excel
La méthode OnPost dans la classe ExcelOpenerModel est utilisée pour enregistrer les modifications dans le fichier Excel. Elle charge d'abord le fichier Excel et récupère la feuille de calcul par défaut. Elle écrit ensuite les valeurs de Data dans les cellules de la feuille de calcul et enregistre le classeur dans un nouveau fichier.
public void OnPost()
{
try
{
// Load your Excel file
var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx");
// Select your Worksheet
var sheet = workbook.DefaultWorkSheet;
for (int i = 0; i < Data.Count; i++)
{
for (int j = 0; j < Data[i].Count; j++)
{
sheet.SetCellValue(i, j, Data[i][j]);
}
}
// Save the Excel file
var filename = @"C:\ModifiedData.xlsx";
workbook.SaveAs(filename);
}
catch (Exception ex)
{
// Handle exceptions here
Console.WriteLine(ex.Message);
}
}Public Sub OnPost()
Try
' Load your Excel file
Dim workbook = WorkBook.Load("C:\Users\Administrator\Documents\Loan.xlsx")
' Select your Worksheet
Dim sheet = workbook.DefaultWorkSheet
For i As Integer = 0 To Data.Count - 1
Dim j As Integer = 0
Do While j < Data(i).Count
sheet.SetCellValue(i, j, Data(i)(j))
j += 1
Loop
Next i
' Save the Excel file
Dim filename = "C:\ModifiedData.xlsx"
workbook.SaveAs(filename)
Catch ex As Exception
' Handle exceptions here
Console.WriteLine(ex.Message)
End Try
End SubMéthodes clés expliquées
sheet.SetCellValue(i, j, Data[i][j]): Cette méthode définit la valeur de la cellule aux indices de ligne et de colonne spécifiés.workbook.SaveAs(filepath): Cette méthode enregistre le classeur Excel au chemin de fichier spécifié.
Courte explication
La méthode OnPost est appelée lorsque le formulaire est soumis, et elle enregistre les données modifiées dans le fichier Excel. Elle charge le fichier Excel, sélectionne la feuille de calcul par défaut, et met à jour les valeurs des cellules en fonction des données modifiées reçues du formulaire.
Formulaire HTML pour la modification des données Excel
Dans ExcelOpener.cshtml, un formulaire est défini pour afficher et modifier les données du fichier Excel. Chaque valeur de cellule est affichée dans un champ de saisie de texte. Après modification, cliquer sur le bouton "Économisez" soumettra le formulaire, déclenchant la méthode OnPost et enregistrant les changements dans le fichier Excel.
@page
@model Open_Excel_File_.NET_Core.Pages.ExcelOpenerModel
<form method="post">
<table class="table table-bordered table-striped">
<!-- Bootstrap classes for tables -->
@for (int i = 0; i < Model.Data.Count; i++)
{
<tr>
@for (int j = 0; j < Model.Data[i].Count; j++)
{
<td>
<input type="text" class="form-control" name="Data[@i][@j]" value="@Model.Data[i][j]" /> <!-- Bootstrap class for form controls -->
</td>
}
</tr>
}
</table>
<input type="submit" class="btn btn-primary" value="Save" /> <!-- Bootstrap classes for buttons -->
</form>
Naviguer vers la page
Dans _Layout.cshtml, un lien vers la page est ajouté au menu de navigation. En cliquant sur ce lien, vous naviguerez vers la page d'ouverture d'Excel.
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-page="/ExcelOpener">ExcelOpener</a>
</li>
Exécution de l'application et explication du résultat
Construisez l'application en cliquant sur le bouton "Build" dans Visual Studio ou en utilisant le raccourci Ctrl + Shift + B. Exécutez l'application en appuyant sur F5 ou en cliquant sur le bouton " Démarrer " dans Visual Studio.
Une fois l'application en cours d'exécution, accédez à la page " ExcelOpener " en cliquant sur le lien correspondant dans la barre de navigation. La page affichera les données de l'Excel dans un format tabulaire.
Vous pouvez modifier les données dans le tableau et cliquer sur le bouton " Enregistrer " pour enregistrer les modifications dans le fichier Excel.
Afficher les données Excel dans l'application Web
Ce tutoriel a démontré comment ouvrir un fichier Excel en utilisant IronXL dans une application ASP.NET Core. IronXL fournit une façon simple et pratique de lire et manipuler des fichiers Excel. Vous pouvez explorer la documentation IronXL pour des fonctionnalités et des fonctionnalités plus avancées.
IronXL offre un essai gratuit, vous permettant d'évaluer ses capacités. Si vous le trouvez utile pour vos projets, vous pouvez acheter une licence à partir de $999.

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.
Articles connexes



