C# ; Lire un fichier XLSX
Pour lire des fichiers XLSX en C#, utilisez la méthode WorkBook.Load d'IronXL pour ouvrir des fichiers Excel et accéder aux feuilles de calcul afin de lire les données des cellules, effectuer des calculs, et convertir aux formats DataTable ou DataSet de manière programmatique.
Démarrage rapide : Charger un classeur et accéder facilement à une feuille de calcul
Avec IronXL, vous pouvez charger un fichier XLSX en utilisant la méthode WorkBook.Load en une seule ligne. Ensuite, accédez instantanément à sa première feuille ou à une feuille nommée et commencez à lire les valeurs des cellules.
-
Installez IronXL avec le Gestionnaire de Packages NuGet
-
Copiez et exécutez cet extrait de code.
IronXL.WorkBook workbook = IronXL.WorkBook.Load("your-file.xlsx"); -
Déployez pour tester sur votre environnement de production.
Commencez à utiliser IronXL dans votre projet dès aujourd'hui avec un essai gratuit
Lire les fichiers .XLSX en C#
- Procurez-vous IronXL pour votre projet
- Charger un
livre de travail - Accéder aux données d'une
Feuille de travail - Utilisez des fonctions comme Somme, Min et Max.
- Lire une
WorkSheeten tant que DataTable, DataSet, etc
Comment obtenir IronXL pour mon projet?
Utilisez IronXL dans votre projet pour une manipulation simple des fichiers Excel en C#. Vous pouvez installer IronXL soit par téléchargement direct , soit en utilisant NuGet Install pour Visual Studio . Le logiciel est gratuit pour le développement.
Install-Package IronXL.Excel
Avant de plonger dans la lecture de fichiers XLSX, explorez la documentation complète d'IronXL pour comprendre toutes les fonctionnalités disponibles. IronXL prend en charge les formats .xls et .xlsx, ce qui le rend polyvalent pour les fichiers Excel anciens et modernes.
Didacticiel de prise en main
Comment charger un livre de travail?
WorkBook est la classe d'IronXL dont l'objet fournit un accès complet au fichier Excel et à toutes ses fonctions. Par exemple, pour accéder à un fichier Excel, utilisez le code :
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-load-workbook.cs
using IronXL;
// Load the workbook
WorkBook workBook = WorkBook.Load("sample.xlsx"); // Excel file path
Imports IronXL
' Load the workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Excel file path
Pourquoi utiliser la méthode WorkBook.Load() ?
Dans le code ci-dessus, la fonction Load() charge WorkBook dans WorkBook. Tout type de fonction peut être effectué sur WorkBook en accédant au WorkSheet spécifique d'un fichier Excel. La méthode Load() détecte automatiquement le format de fichier, qu'il s'agisse de XLS, XLSX, XLSM, XLTX, ou CSV. Pour des scénarios de chargement plus avancés, consultez le guide détaillé sur le chargement des feuilles de calcul.
Comment accéder à une feuille de travail spécifique ?
Pour accéder à un WorkSheet spécifique d'un fichier Excel, IronXL fournit la classe WorkBook. Elle peut être utilisée de différentes manières :
Quelles sont les différentes façons d'accéder à une feuille de calcul ?
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-worksheet.cs
using IronXL;
// Access sheet by name
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
Imports IronXL
' Access sheet by name
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
WorkBook["SheetName"] est le WorkSheet qui est déclaré dans la section ci-dessus.
OU
WorkBook
OU
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-worksheet-index.cs
using IronXL;
// Access sheet by index
WorkSheet workSheet = workBook.WorkSheets[0];
Imports IronXL
' Access sheet by index
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
OU
WorkBook.Load()
OU
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-default-worksheet.cs
using IronXL;
// Access the default worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;
Imports IronXL
' Access the default worksheet
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
OU
sample.xlsx
OU
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-worksheet.cs
using IronXL;
using System.Linq;
// Access the first worksheet
WorkSheet workSheet = workBook.WorkSheets.First();
Imports IronXL
Imports System.Linq
' Access the first worksheet
Dim workSheet As WorkSheet = workBook.WorkSheets.First()
OU
workBook
OU
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-or-default-worksheet.cs
using IronXL;
using System.Linq;
// Access the first or default worksheet
WorkSheet workSheet = workBook.WorkSheets.FirstOrDefault();
Imports IronXL
Imports System.Linq
' Access the first or default worksheet
Dim workSheet As WorkSheet = workBook.WorkSheets.FirstOrDefault()
OU
workBook
OU
WorkBook.Load
OU
WorkSheet
OU
WorkSheet
OU
workBook
OU
WorkBook
Quand dois-je utiliser chaque méthode d'accès à la feuille de calcul ?
Chaque méthode a son cas d'utilisation idéal :
GetWorkSheet("name"): Lorsque vous connaissez exactement le nom de la feuilleWorkSheets[index]: Pour itérer à travers les feuilles de manière programmatiqueDefaultWorkSheet: Accès rapide lors du travail avec des fichiers à feuille uniqueFirst()ouFirstOrDefault(): Options sûres lorsque les noms de feuilles peuvent changer
Après avoir obtenu ExcelSheet workSheet, vous pouvez obtenir tout type de données à partir de celui-ci et effectuer toutes les fonctions Excel sur celui-ci. Pour des opérations plus complexes sur les feuilles de calcul, consultez le guide sur l'ouverture de feuilles de calcul Excel en C#.
Comment accéder aux données d'une feuille de travail ?
Les données peuvent être accédées à partir de ExcelSheet workSheet avec ce processus :
Quels types de données puis-je lire dans les cellules ?
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-data.cs
using IronXL;
// Accessing data as a string
string dataString = workSheet["A1"].ToString();
// Accessing data as an integer
int dataInt = workSheet["B1"].Int32Value;
Imports IronXL
' Accessing data as a string
Dim dataString As String = workSheet("A1").ToString()
' Accessing data as an integer
Dim dataInt As Integer = workSheet("B1").Int32Value
IronXL fournit divers accesseurs de valeurs pour différents types de données :
StringValue: Pour les données textuellesInt32Value: Pour les entiersDoubleValue: Pour les décimalesDateTimeValue: For datesBoolValue: Pour les valeurs vrai/faux
Comment lire plusieurs cellules à la fois ?
Vous pouvez également obtenir des données à partir de plusieurs cellules d'une colonne spécifique :
foreach (var cell in workSheet["A2:A10"])
{
Console.WriteLine("Value is: {0}", cell.Text);
}
foreach (var cell in workSheet["A2:A10"])
{
Console.WriteLine("Value is: {0}", cell.Text);
}
For Each cell In workSheet("A2:A10")
Console.WriteLine("Value is: {0}", cell.Text)
Next cell
Cela affiche les valeurs de la cellule A2 à A10. Pour des techniques de sélection de plage plus avancées, visitez le tutoriel de sélection de plage.
À quoi ressemble une implémentation complète?
Un exemple de code complet des spécificités ci-dessus est fourni ici :
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-log-data.cs
using IronXL;
using System;
// Load an Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
// Specify the range
foreach (var cell in workSheet["B2:B10"])
{
Console.WriteLine("Value is: {0}", cell.Text);
}
Imports IronXL
Imports System
' Load an Excel file
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
' Specify the range
For Each cell In workSheet("B2:B10")
Console.WriteLine("Value is: {0}", cell.Text)
Next
Elle affiche le résultat suivant :
Avec le fichier Excel Sample.xlsx :
Ces méthodologies montrent à quel point il est facile d'utiliser des données de fichiers Excel dans votre projet. Pour des exemples pratiques de lecture de fichiers Excel sans Interop, consultez les exemples de lecture d'Excel.
Comment puis-je exécuter des fonctions sur des données ?
Accédez aux données filtrées d'un WorkSheet Excel en appliquant des fonctions d'agrégat comme Sum, Min, ou Max en utilisant le code suivant :
Quelles sont les fonctions d'agrégation disponibles ?
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-aggregate-function.cs
using IronXL;
// Apply aggregate functions
decimal sum = workSheet["G2:G10"].Sum(); // Sum of cells from G2 to G10
decimal min = workSheet["G2:G10"].Min(); // Minimum value in cells from G2 to G10
decimal max = workSheet["G2:G10"].Max(); // Maximum value in cells from G2 to G10
Imports IronXL
' Apply aggregate functions
Dim sum As Decimal = workSheet("G2:G10").Sum() ' Sum of cells from G2 to G10
Dim min As Decimal = workSheet("G2:G10").Min() ' Minimum value in cells from G2 to G10
Dim max As Decimal = workSheet("G2:G10").Max() ' Maximum value in cells from G2 to G10
IronXL prend en charge de nombreuses fonctions mathématiques, notamment :
Average(): Calculer la valeur moyenneCount(): Compter les cellules non videsCountIf(): Compter les cellules répondant aux critèresMedian(): Trouver la valeur médianeStdDev(): Calculer l'écart-type
Comment mettre en œuvre plusieurs fonctions ensemble ?
Pour plus de détails, consultez notre tutoriel approfondi sur Comment Écrire des fichiers Excel en C# avec des spécificités sur les fonctions d'agrégation. Vous pouvez également explorer la liste complète des fonctions mathématiques disponibles dans IronXL.
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-min-max.cs
using IronXL;
using System;
// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Get the specified WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
// Calculate sum, minimum, and maximum for a range of cells
decimal sum = workSheet["G2:G10"].Sum();
decimal min = workSheet["G2:G10"].Min();
decimal max = workSheet["G2:G10"].Max();
// Output results
Console.WriteLine("Sum is: {0}", sum);
Console.WriteLine("Min is: {0}", min);
Console.WriteLine("Max is: {0}", max);
Imports IronXL
Imports System
' Load the Excel workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Get the specified WorkSheet
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
' Calculate sum, minimum, and maximum for a range of cells
Dim sum As Decimal = workSheet("G2:G10").Sum()
Dim min As Decimal = workSheet("G2:G10").Min()
Dim max As Decimal = workSheet("G2:G10").Max()
' Output results
Console.WriteLine("Sum is: {0}", sum)
Console.WriteLine("Min is: {0}", min)
Console.WriteLine("Max is: {0}", max)
Ce code affiche la sortie suivante :
Et voici à quoi ressemble le fichier Excel Sample.xlsx :
Comment lire une feuille de calcul Excel en tant que tableau de données?
En utilisant IronXL, il est facile de travailler avec un WorkSheet Excel en tant que DataTable. Cette fonctionnalité est particulièrement utile lorsque vous devez intégrer des données Excel à des chaînes de traitement de données existantes ou lier des données à des contrôles d'interface utilisateur.
Quelle est la méthode de conversion de base ?
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable.cs
using IronXL;
using System.Data;
// Convert worksheet to DataTable
DataTable dt = workSheet.ToDataTable();
Imports IronXL
Imports System.Data
' Convert worksheet to DataTable
Dim dt As DataTable = workSheet.ToDataTable()
Comment utiliser la première ligne comme en-tête de colonne ?
Pour utiliser la première ligne de ExcelSheet comme DataTable ColumnName :
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable-header.cs
using IronXL;
using System.Data;
// Convert worksheet to DataTable with the first row as column names
DataTable dt = workSheet.ToDataTable(true);
Imports IronXL
Imports System.Data
' Convert worksheet to DataTable with the first row as column names
Dim dt As DataTable = workSheet.ToDataTable(True)
Le paramètre booléen de ToDataTable() définit la première ligne comme les noms de colonnes de votre DataTable. Par défaut, sa valeur est False. Ceci est particulièrement utile lorsque l'on travaille avec des données structurées qui incluent des en-têtes.
Comment itérer à travers le DataTable?
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-print-datatable.cs
using IronXL;
using System;
using System.Data;
// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Get the specified WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
// Convert WorkSheet to DataTable
DataTable dt = workSheet.ToDataTable(true); // Use first row as column names
// Iterate through rows and columns and display data
foreach (DataRow row in dt.Rows) // Access rows
{
for (int i = 0; i < dt.Columns.Count; i++) // Access columns of corresponding row
{
Console.Write(row[i] + " ");
}
Console.WriteLine();
}
Imports IronXL
Imports System
Imports System.Data
' Load the Excel workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Get the specified WorkSheet
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
' Convert WorkSheet to DataTable
Dim dt As DataTable = workSheet.ToDataTable(True) ' Use first row as column names
' Iterate through rows and columns and display data
For Each row As DataRow In dt.Rows ' Access rows
For i As Integer = 0 To dt.Columns.Count - 1 ' Access columns of corresponding row
Console.Write(row(i) & " ")
Next
Console.WriteLine()
Next
En utilisant le code ci-dessus, chaque valeur de cellule de WorkSheet peut être accédée et utilisée selon les besoins. Pour des opérations DataTable plus avancées, consultez le guide sur l'importation et l'exportation en tant que DataSet.
Comment lire un fichier Excel en tant que DataSet?
IronXL fournit une fonction simple pour utiliser un fichier Excel complet (WorkBook) en tant que DataSet. Utilisez la méthode ToDataSet pour convertir l'ensemble du classeur en DataSet.
Dans cet exemple, nous verrons comment utiliser le fichier Excel en tant que DataSet.
Comment convertir un classeur en DataSet?
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-excel-to-dataset.cs
using IronXL;
using System;
using System.Data;
// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Convert the WorkBook to a DataSet
DataSet ds = workBook.ToDataSet();
// Iterate through tables in the DataSet and display table names
foreach (DataTable dt in ds.Tables)
{
Console.WriteLine(dt.TableName);
}
Imports IronXL
Imports System
Imports System.Data
' Load the Excel workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Convert the WorkBook to a DataSet
Dim ds As DataSet = workBook.ToDataSet()
' Iterate through tables in the DataSet and display table names
For Each dt As DataTable In ds.Tables
Console.WriteLine(dt.TableName)
Next
Le résultat du code ci-dessus ressemble à ceci :
Et le fichier Excel Sample.xlsx ressemble à ça :
(center content omitted for brevity)
Comment puis-je accéder à la valeur de chaque cellule dans toutes les feuilles de calcul ?
Dans l'exemple ci-dessus, nous pouvons facilement analyser un fichier Excel en DataSet et travailler avec chaque DataTable d'un fichier Excel en tant que DataTable. Découvrez comment parser Excel en tant que DataSet en vous appuyant sur des exemples de code.
Voyons un autre exemple de la façon d'accéder à chaque valeur de cellule de tous les ExcelSheets. Ici, nous pouvons accéder à chaque valeur de cellule de chaque ExcelSheet d'un fichier Excel.
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-all-excel-sheets.cs
using IronXL;
using System;
// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Iterate through every WorkSheet in the WorkBook
foreach (WorkSheet workSheet in workBook.WorkSheets)
{
Console.WriteLine($"Worksheet: {workSheet.Name}");
// Access each filled cell value on the current WorkSheet
foreach (var cell in workSheet.FilledCells)
{
Console.WriteLine($"{cell.Address}: {cell.Text}");
}
}
Imports IronXL
Imports System
' Load the Excel workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Iterate through every WorkSheet in the WorkBook
For Each workSheet As WorkSheet In workBook.WorkSheets
Console.WriteLine($"Worksheet: {workSheet.Name}")
' Access each filled cell value on the current WorkSheet
For Each cell In workSheet.FilledCells
Console.WriteLine($"{cell.Address}: {cell.Text}")
Next
Next
En utilisant l'exemple ci-dessus, il est pratique d'accéder à chaque valeur de cellule de chaque ExcelSheet d'un fichier Excel. Cette approche est particulièrement utile lors du traitement de classeurs multi-feuilles où les données sont réparties sur différents onglets.
Pour en savoir plus sur la manière de Lire des fichiers Excel sans interopérabilité, consultez le code ici. La documentation de référence de l'API fournit des détails complets sur toutes les méthodes et propriétés disponibles à l'adresse Référence de l'API IronXL.
Accès rapide au tutoriel
Référence API pour IronXL
Pour en savoir plus sur les fonctionnalités, les classes, les champs de méthode, les espaces de noms et les énumérations d'IronXL, consultez la documentation.
Référence API pour IronXLWorkSheet
WorkSheet
WorkSheet
Questions Fréquemment Posées
Comment lire des fichiers XLSX en C# ?
Pour lire des fichiers XLSX en C#, utilisez la méthode WorkBook.Load d'IronXL. Il suffit de charger le fichier Excel avec IronXL.WorkBook.Load("your-file.xlsx"), puis d'accéder aux feuilles de calcul pour lire les données des cellules, effectuer des calculs et convertir aux formats DataTable ou DataSet par programme.
Quels sont les formats de fichiers pris en charge lors du chargement de fichiers Excel ?
IronXL prend en charge plusieurs formats de fichiers Excel, notamment les fichiers .xls, .xlsx, .xlsm, .xltx et .csv. La méthode WorkBook.Load détecte automatiquement le format de fichier, ce qui la rend polyvalente pour les fichiers Excel anciens et modernes.
Comment puis-je installer la bibliothèque de lecture Excel pour mon projet C# ?
Vous pouvez installer IronXL soit par téléchargement direct, soit via NuGet Install for Visual Studio. Le logiciel est gratuit à des fins de développement et offre un moyen simple de travailler avec les formats de fichiers Excel en C#.
Quelles sont les différentes façons d'accéder à une feuille de calcul spécifique ?
IronXL propose plusieurs façons d'accéder aux feuilles de travail : vous pouvez utiliser workBook.GetWorkSheet("SheetName") pour accéder par nom, workBook.WorkSheets[0] pour accéder par index, ou workBook.WorkSheets.First() pour obtenir la première feuille de travail.
Puis-je effectuer des calculs sur les données Excel après les avoir chargées ?
Oui, après avoir chargé un fichier XLSX avec IronXL, vous pouvez appliquer diverses fonctions telles que Sum, Min et Max sur les données. La bibliothèque offre un accès complet aux fonctionnalités des fichiers Excel par l'intermédiaire de l'objet WorkBook.
Est-il possible de convertir les données d'une feuille de calcul Excel dans d'autres formats ?
Oui, IronXL permet de lire une feuille de calcul et de la convertir dans différents formats, notamment DataTable, DataSet, etc. Il est ainsi facile d'intégrer des données Excel dans vos applications C#.






