UTILISATION D'IRONXL

Comment ouvrir un fichier Excel en ASP .NET Core ?

Mise à jour août 23, 2024
Partager:

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 expliquera les étapes de base pour lire des fichiers Excel, afficher les données, puis 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 permettant de travailler avec des documents Excel sans nécessiter de dépendances Microsoft Excel ou Office Interop. Il prend en charge à la fois .NET Framework et .NET Core, offrant la possibilité d'écrire, manipuler et lire des fichiers Excel avec seulement quelques lignes de code. Pour un tutoriel détaillé sur la lecture des fichiers Excel, veuillez vous référer à ceciTutoriel Excel.

La bibliothèque IronXL peutlire et écrire des documents Excel, extraire des donnéesà partir d'eux, manipuler les données et même créer de nouveaux fichiers Excel à partir de zéro. IronXL prend en charge non seulement le format .XLS mais aussicompatible avec .XLSX, qui est un format de fichier basé sur XML développé par Microsoft pour représenter des feuilles de calcul.

Pré-requis

Avant de plonger dans le code, assurez-vous d'avoir les éléments suivants :

  1. .NET Core 3.1 ou une version plus récente.

  2. Un IDE adapté au développement .NET(Microsoft Visual Studio est recommandé).

  3. Compréhension de base de ASP.NET Core et de Razor Pages.

Créer un nouveau projet .NET Core

  1. Ouvrez Microsoft Visual Studio et sélectionnez "Créer un nouveau projet".

  2. Choisissez "ASP.NET Core Web App" dans la liste des modèles de projet et cliquez sur "Suivant".

  3. Donnez un nom à votre projet, par exemple "OpenExcel\File\.NET\Core", sélectionnez un emplacement et cliquez sur "Next".

  4. 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 paquet IronXL

La prochaine étape consiste à installer le package IronXL dans ce projet nouvellement créé :

  1. Cliquez avec le bouton droit de la souris sur le projet dans l'explorateur de solutions et sélectionnez "Manage NuGet Packages".

  2. Dans l'onglet "Parcourir", recherchez "IronXL" et cliquez sur "Installer" pour le paquet IronXL.Excel.

    Comment ouvrir un fichier Excel dans ASP .NET Core, Figure 1 : Recherchez et installez le package IronXL dans l'interface utilisateur de NuGet Package Manager.

    Recherche et installation du paquetage IronXL dans l'interface utilisateur du gestionnaire de paquets NuGet

  3. Attendez que le paquet 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 permettant d'ouvrir le fichier Excel.

  1. Cliquez avec le bouton droit de la souris sur le dossier "Pages" dans l'explorateur de solutions et sélectionnez "Ajouter" > "Page Razor".

  2. Entrez "ExcelOpener" comme nom de page et cliquez sur "Ajouter".

    Comment ouvrir un fichier Excel dans ASP .NET Core, Figure 2 : Créer une nouvelle page Razer

    Créer une nouvelle page Razer

    Cela créera deux fichiers : ExcelOpener.cshtml et ExcelOpener.cshtml.cs.

    Le fichier ExcelOpener.cshtml contient le balisage HTML de la page et le fichier ExcelOpener.cshtml.cs contient le code C# de la page.

Lecture de fichiers Excel

Plongeons dans le code. La classe ExcelOpenerModel fournie est un modèle de page Razor. Cette classe possède une Liste<List<string>> Propriété Data, qui sera utilisée pour stocker les données lues dans un fichier Excel.

public List<List<string>> Data { get; set; }

public ExcelOpenerModel()
{
    Data = new List<List<string>>();
}
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 Sub
VB   C#

Dans la méthode OnGet, IronXL est utilisé pour charger un fichier Excel et lire les données de la feuille de calcul par défaut.(la première feuille du classeur). Chaque ligne est représentée sous la forme d'une "liste", 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 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);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Explication des principales méthodes

  • WorkBook.Load(chemin d'accès) : Cette méthode charge le document Excel à partir du chemin d'accès spécifié. Il est utile de charger et de lire la feuille Excel.
  • workbook.DefaultWorkSheet : Cette propriété permet d'obtenir la feuille de travail par défaut(premier) Feuille de calcul Excel dans la feuille de calcul Excel.
  • sheet.GetCellAt(i, j).Value.ToString() : Cette fonction récupère la cellule aux index de ligne et de colonne spécifiés et convertit sa valeur en une chaîne de caractères. Voici un exemple de méthode d'index qui peut accéder à des cellules ou des plages spécifiques dans un fichier Excel en fonction des index de ligne et de colonne.

Explication succincte

Dans le fichier ExcelOpener.cshtml.cs, une classe nommée ExcelOpenerModel représente le modèle de la page Razor. Il contient une propriété nommée Data de type List<List>`, 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 du fichier Excel. Elle utilise IronXL pour charger le fichier Excel, sélectionne la feuille de calcul par défaut et itère sur les lignes et les colonnes pour remplir la propriété Data.

Écriture de fichiers Excel

La méthode OnPost de la classe ExcelOpenerModel est utilisée pour enregistrer des modifications dans le fichier Excel. Elle charge d'abord le fichier Excel et récupère la feuille de calcul par défaut. Il é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 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 Sub
VB   C#

Explication des principales méthodes

  • sheet.SetCellValue(i, j, Données[i][j]) : Cette méthode définit la valeur de la cellule aux index de ligne et de colonne spécifiés.
  • workbook.SaveAs(chemin d'accès) : Cette méthode enregistre le classeur Excel dans le chemin d'accès au fichier spécifié.

Explication succincte

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 l'édition de 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, un clic sur le bouton "Save" soumet le formulaire, déclenchant la méthode OnPost et enregistrant les modifications 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>
@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>
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Naviguer vers la page

Dans _Layout.cshtml, un lien vers la page est ajouté au menu de navigation. En cliquant sur ce lien, vous accéderez à la page d'ouverture d'Excel.

<li class="nav-item">
    <a class="nav-link text-dark" asp-area="" asp-page="/ExcelOpener">ExcelOpener</a>
</li>
<li class="nav-item">
    <a class="nav-link text-dark" asp-area="" asp-page="/ExcelOpener">ExcelOpener</a>
</li>
HTML

Exécution de l'application et explication des résultats

Créez l'application en cliquant sur le bouton "Build" dans Visual Studio ou en utilisant le raccourci Ctrl + Shift + B. Lancez l'application en appuyant sur F5 ou en cliquant sur le bouton "Start" dans Visual Studio.

Une fois l'application lancée, accédez à la page "ExcelOpener" en cliquant sur le lien correspondant dans la barre de navigation. La page affichera les données d'Excel sous forme de tableau.

Vous pouvez modifier les données du tableau et cliquer sur le bouton "Enregistrer" pour sauvegarder les modifications dans le fichier Excel.

Comment ouvrir un fichier Excel dans ASP.NET Core, Figure 3 : Afficher les données Excel dans l'application Web

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 offre un moyen simple et pratique de lire et de manipuler les fichiers Excel. Vous pouvez consulter la documentation d'IronXL pour découvrir des caractéristiques et des fonctionnalités plus avancées.

IronXL offre uneessai gratuitvous permettant d'évaluer ses capacités. Si vous le trouvez utile pour vos projets, vous pouvez acheter une licence à partir de $749.

< PRÉCÉDENT
Comment travailler avec des fichiers Excel en utilisant IronXL: une bibliothèque Excel .NET
SUIVANT >
Comment fusionner des cellules dans Excel sans perdre de données ?