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 ouvrir un fichier Excel en ASP .NET Core ?
Regan Pun
juillet 22, 2023
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 :
.NET Core 3.1 ou une version plus récente.
Un IDE adapté au développement .NET(Microsoft Visual Studio est recommandé).
Compréhension de base de ASP.NET Core et de Razor Pages.
Créer un nouveau projet .NET Core
Ouvrez Microsoft Visual Studio et sélectionnez "Créer un nouveau projet".
Choisissez "ASP.NET Core Web App" dans la liste des modèles de projet et cliquez sur "Suivant".
Donnez un nom à votre projet, par exemple "OpenExcel\File\.NET\Core", sélectionnez un emplacement et cliquez sur "Next".
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éé :
Cliquez avec le bouton droit de la souris sur le projet dans l'explorateur de solutions et sélectionnez "Manage NuGet Packages".
Dans l'onglet "Parcourir", recherchez "IronXL" et cliquez sur "Installer" pour le paquet IronXL.Excel.
Recherche et installation du paquetage IronXL dans l'interface utilisateur du gestionnaire de paquets NuGet
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.
Cliquez avec le bouton droit de la souris sur le dossier "Pages" dans l'explorateur de solutions et sélectionnez "Ajouter" > "Page Razor".
Entrez "ExcelOpener" comme nom de page et cliquez sur "Ajouter".
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
$vbLabelText $csharpLabel
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
$vbLabelText $csharpLabel
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
$vbLabelText $csharpLabel
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
$vbLabelText $csharpLabel
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.
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.
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.
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 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 ?
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. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier