# 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.
*as-heading:2(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.
```cs
:title=Start Reading XLSX in One Line — IronXL
IronXL.WorkBook workbook = IronXL.WorkBook.Load("your-file.xlsx");
```
<div class="learnn-how-section">
<div class="row">
<div class="col-sm-6">
<h2>Lire les fichiers .XLSX en C#</h2>
<ul class="list-unstyled">
<li>Procurez-vous IronXL pour votre projet</li>
<li>Charger un <code>livre de travail</code></li>
<li>Accéder aux données d'une <code>Feuille de travail</code></li>
<li>Utilisez des fonctions comme Somme, Min et Max.</li>
<li>Lire une <code>WorkSheet</code> en tant que DataTable, DataSet, etc</li>
</ul>
</div>
<div class="col-sm-6">
<div class="download-card">
<img style="box-shadow: none; width: 308px; height: 320px;" src="/img/faq/excel/how-to-work.svg" class="img-responsive learn-how-to-img replaceable-img" />
</div>
</div>
</div>
</div>
<hr class="separator" />
## 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](/csharp/excel/packages/IronXL.zip) , soit en utilisant [NuGet Install pour Visual Studio](https://www.nuget.org/packages/IronXL.Excel) . Le logiciel est gratuit pour le développement.
```shell
:ProductInstall
```
Avant de plonger dans la lecture de fichiers XLSX, explorez la [documentation complète d'IronXL](https://ironsoftware.com/csharp/excel/docs/) 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.
<hr class="separator" />
#### 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 :
```csharp
using IronXL;
// Load the workbook
WorkBook 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](https://ironsoftware.com/csharp/excel/how-to/load-spreadsheet/).
<hr class="separator" />
## 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 ?
```csharp
using IronXL;
// Access sheet by name
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
```
`WorkBook["SheetName"]` est le `WorkSheet` qui est déclaré dans la section ci-dessus.
OU
`WorkBook`
OU
```csharp
using IronXL;
// Access sheet by index
WorkSheet workSheet = workBook.WorkSheets[0];
```
OU
`WorkBook.Load()`
OU
```csharp
using IronXL;
// Access the default worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;
```
OU
`sample.xlsx`
OU
```csharp
using IronXL;
using System.Linq;
// Access the first worksheet
WorkSheet workSheet = workBook.WorkSheets.First();
```
OU
`workBook`
OU
```csharp
using IronXL;
using System.Linq;
// Access the first or default worksheet
WorkSheet 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 feuille
- **`WorkSheets[index]`** : Pour itérer à travers les feuilles de manière programmatique
- **`DefaultWorkSheet`** : Accès rapide lors du travail avec des fichiers à feuille unique
- **`First()` ou `FirstOrDefault()`** : 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#](https://ironsoftware.com/csharp/excel/how-to/c-sharp-open-excel-worksheet/).
<hr class="separator" />
## 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 ?
```csharp
using IronXL;
// Accessing data as a string
string dataString = workSheet["A1"].ToString();
// Accessing data as an integer
int dataInt = workSheet["B1"].Int32Value;
```
IronXL fournit divers accesseurs de valeurs pour différents types de données :
- **`StringValue`** : Pour les données textuelles
- **`Int32Value`** : Pour les entiers
- **`DoubleValue`** : Pour les décimales
- **`DateTimeValue`**: For dates
- **`BoolValue`** : 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 :
```csharp
foreach (var cell in workSheet["A2:A10"])
{
Console.WriteLine("Value is: {0}", cell.Text);
}
```
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](https://ironsoftware.com/csharp/excel/how-to/select-range/).
### À quoi ressemble une implémentation complète?
Un exemple de code complet des spécificités ci-dessus est fourni ici :
```csharp
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);
}
```
Elle affiche le résultat suivant :
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/c-sharp-read-xlsx-file/doc3-input1.png" target="_blank"><img src="/img/faq/excel/c-sharp-read-xlsx-file/doc3-input1.png" alt="Sortie de la console montrant les données extraites de la feuille de calcul avec les valeurs Gouvernement, Privé, Milieu de gamme et Partenaires de distribution" class="img-responsive add-shadow" /></a>
</div>
</center>
Avec le fichier Excel `Sample.xlsx` :
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/c-sharp-read-xlsx-file/doc3-1.png" target="_blank"><img src="/img/faq/excel/c-sharp-read-xlsx-file/doc3-1.png" alt="Feuille de calcul Excel contenant des données commerciales avec les colonnes Segment, Pays, Produit et Bande de rabais sur 16 lignes" class="img-responsive add-shadow" /></a>
</div>
</center>
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](https://ironsoftware.com/csharp/excel/examples/read-excel/).
<hr class="separator" />
## 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 ?
```csharp
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
```
IronXL prend en charge de nombreuses fonctions mathématiques, notamment :
- **`Average()`** : Calculer la valeur moyenne
- **`Count()`** : Compter les cellules non vides
- **`CountIf()`** : Compter les cellules répondant aux critères
- **`Median()`** : Trouver la valeur médiane
- **`StdDev()`** : 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#](https://ironsoftware.com/csharp/excel/tutorials/csharp-open-write-excel-file/#advanced-operations-sum-avg-count-etc) 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](https://ironsoftware.com/csharp/excel/how-to/math-functions/).
```csharp
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);
```
Ce code affiche la sortie suivante :
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/c-sharp-read-xlsx-file/doc3-output2.png" target="_blank"><img src="/img/faq/excel/c-sharp-read-xlsx-file/doc3-output2.png" alt="Terminal montrant les résultats de l'analyse des données : Somme=482, Min=12, Max=350 sur fond noir" class="img-responsive add-shadow" /></a>
</div>
</center>
Et voici à quoi ressemble le fichier Excel `Sample.xlsx` :
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/c-sharp-read-xlsx-file/doc3-2.png" target="_blank"><img src="/img/faq/excel/c-sharp-read-xlsx-file/doc3-2.png" alt="Feuille de calcul Excel contenant des données sur les ventes indiquant les segments, les pays, les produits, les unités vendues et les prix sur plusieurs lignes" class="img-responsive add-shadow" /></a>
</div>
</center>
<hr class="separator" />
## 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 ?
```csharp
using IronXL;
using System.Data;
// Convert worksheet to DataTable
DataTable dt = 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` :
```csharp
using IronXL;
using System.Data;
// Convert worksheet to DataTable with the first row as column names
DataTable dt = 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?
```csharp
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();
}
```
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](https://ironsoftware.com/csharp/excel/how-to/export-dataset-datatable/).
<hr class="separator" />
## 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?
```csharp
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);
}
```
Le résultat du code ci-dessus ressemble à ceci :
<center>
<div class="center-image-wrapper">
<a rel="nofollow" href="/img/faq/excel/c-sharp-read-xlsx-file/doc10-output2.png" target="_blank"><img src="/img/faq/excel/c-sharp-read-xlsx-file/doc10-output2.png" alt="Capture d'écran corrompue ou incomplète ne montrant que les étiquettes Sheet1, Sheet2, Sheet3" class="img-responsive add-shadow" /></a>
</div>
</center>
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](https://ironsoftware.com/csharp/excel/#excel-sql-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.
```csharp
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}");
}
}
```
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é](https://ironsoftware.com/csharp/excel/tutorials/how-to-read-excel-file-csharp/), 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](https://ironsoftware.com/csharp/excel/object-reference/api/).
<hr class="separator" />
#### Accès rapide au tutoriel
<div class="tutorial-section">
<div class="row">
<div class="col-sm-8">
<h3>Référence API pour IronXL</h3>
<p>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.</p>
<a class="doc-link" href="/csharp/excel/object-reference/api/" target="_blank"> Référence API pour IronXL <i class="fa fa-chevron-right"></i></a>
</div>
<div class="col-sm-4">
<div class="tutorial-image">
<img style="max-width: 110px; width: 100px; height: 140px;" alt="" class="img-responsive add-shadow" src="/img/svgs/documentation.svg" width="100" height="140" />
</div>
</div>
</div>
</div>
`WorkSheet`
`WorkSheet`
`WorkSheet`
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.
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 :
using IronXL;// Load the workbookWorkBook workBook = WorkBook.Load("sample.xlsx"); // Excel file path
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 ?
using IronXL;// Access sheet by nameWorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
using IronXL;
// Access sheet by name
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
ImportsIronXL' Access sheet by nameDim workSheet AsWorkSheet = 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
using IronXL;// Access sheet by indexWorkSheet workSheet = workBook.WorkSheets[0];
using IronXL;
// Access sheet by index
WorkSheet workSheet = workBook.WorkSheets[0];
ImportsIronXL' Access sheet by indexDim workSheet AsWorkSheet = workBook.WorkSheets(0)
Imports IronXL
' Access sheet by index
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
OU
WorkBook.Load()
OU
using IronXL;// Access the default worksheetWorkSheet workSheet = workBook.DefaultWorkSheet;
using IronXL;
// Access the default worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;
ImportsIronXL' Access the default worksheetDim workSheet AsWorkSheet = workBook.DefaultWorkSheet
Imports IronXL
' Access the default worksheet
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
OU
sample.xlsx
OU
using IronXL;using System.Linq;// Access the first worksheetWorkSheet workSheet = workBook.WorkSheets.First();
using IronXL;
using System.Linq;
// Access the first worksheet
WorkSheet workSheet = workBook.WorkSheets.First();
ImportsIronXLImportsSystem.Linq' Access the first worksheetDim workSheet AsWorkSheet = workBook.WorkSheets.First()
Imports IronXL
Imports System.Linq
' Access the first worksheet
Dim workSheet As WorkSheet = workBook.WorkSheets.First()
OU
workBook
OU
using IronXL;using System.Linq;// Access the first or default worksheetWorkSheet workSheet = workBook.WorkSheets.FirstOrDefault();
using IronXL;
using System.Linq;
// Access the first or default worksheet
WorkSheet workSheet = workBook.WorkSheets.FirstOrDefault();
ImportsIronXLImportsSystem.Linq' Access the first or default worksheetDim workSheet AsWorkSheet = 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 feuille
WorkSheets[index] : Pour itérer à travers les feuilles de manière programmatique
DefaultWorkSheet : Accès rapide lors du travail avec des fichiers à feuille unique
First() ou FirstOrDefault() : Options sûres lorsque les noms de feuilles peuvent changer
Après avoir obtenu ExcelSheetworkSheet, 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 ExcelSheetworkSheet avec ce processus :
Quels types de données puis-je lire dans les cellules ?
using IronXL;// Accessing data as a stringstring dataString = workSheet["A1"].ToString();// Accessing data as an integerint dataInt = workSheet["B1"].Int32Value;
using IronXL;
// Accessing data as a string
string dataString = workSheet["A1"].ToString();
// Accessing data as an integer
int dataInt = workSheet["B1"].Int32Value;
ImportsIronXL' Accessing data as a stringDim dataString AsString = workSheet("A1").ToString()' Accessing data as an integerDim dataInt AsInteger = 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 textuelles
Int32Value : Pour les entiers
DoubleValue : Pour les décimales
DateTimeValue: For dates
BoolValue : 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
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 :
using IronXL;using System;// Load an Excel fileWorkBook workBook = WorkBook.Load("sample.xlsx");WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");// Specify the rangeforeach (var cell in workSheet["B2:B10"]){Console.WriteLine("Value is: {0}", cell.Text);}
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);
}
ImportsIronXLImportsSystem' Load an Excel fileDim workBook AsWorkBook = WorkBook.Load("sample.xlsx")Dim workSheet AsWorkSheet = workBook.GetWorkSheet("Sheet1")' Specify the rangeFor Each cell In workSheet("B2:B10")Console.WriteLine("Value is: {0}", cell.Text)Next
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 ?
using IronXL;// Apply aggregate functionsdecimal sum = workSheet["G2:G10"].Sum(); // Sum of cells from G2 to G10decimal min = workSheet["G2:G10"].Min(); // Minimum value in cells from G2 to G10decimal max = workSheet["G2:G10"].Max(); // Maximum value in cells from G2 to G10
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
ImportsIronXL' Apply aggregate functionsDim sum AsDecimal = workSheet("G2:G10").Sum() ' Sum of cells from G2 to G10Dim min AsDecimal = workSheet("G2:G10").Min() ' Minimum value in cells from G2 to G10Dim max AsDecimal = 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 moyenne
Count() : Compter les cellules non vides
CountIf() : Compter les cellules répondant aux critères
Median() : Trouver la valeur médiane
StdDev() : Calculer l'écart-type
Comment mettre en œuvre plusieurs fonctions ensemble ?
using IronXL;using System;// Load the Excel workbookWorkBook workBook = WorkBook.Load("sample.xlsx");// Get the specified WorkSheetWorkSheet workSheet = workBook.GetWorkSheet("Sheet1");// Calculate sum, minimum, and maximum for a range of cellsdecimal sum = workSheet["G2:G10"].Sum();decimal min = workSheet["G2:G10"].Min();decimal max = workSheet["G2:G10"].Max();// Output resultsConsole.WriteLine("Sum is: {0}", sum);Console.WriteLine("Min is: {0}", min);Console.WriteLine("Max is: {0}", max);
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);
ImportsIronXLImportsSystem' Load the Excel workbookDim workBook AsWorkBook = WorkBook.Load("sample.xlsx")' Get the specified WorkSheetDim workSheet AsWorkSheet = workBook.GetWorkSheet("Sheet1")' Calculate sum, minimum, and maximum for a range of cellsDim sum AsDecimal = workSheet("G2:G10").Sum()Dim min AsDecimal = workSheet("G2:G10").Min()Dim max AsDecimal = workSheet("G2:G10").Max()' Output resultsConsole.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 ?
using IronXL;using System.Data;// Convert worksheet to DataTableDataTable dt = workSheet.ToDataTable();
using IronXL;
using System.Data;
// Convert worksheet to DataTable
DataTable dt = workSheet.ToDataTable();
ImportsIronXLImportsSystem.Data' Convert worksheet to DataTableDim dt AsDataTable = 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 DataTableColumnName :
using IronXL;using System.Data;// Convert worksheet to DataTable with the first row as column namesDataTable dt = workSheet.ToDataTable(true);
using IronXL;
using System.Data;
// Convert worksheet to DataTable with the first row as column names
DataTable dt = workSheet.ToDataTable(true);
ImportsIronXLImportsSystem.Data' Convert worksheet to DataTable with the first row as column namesDim dt AsDataTable = 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?
using IronXL;using System;using System.Data;// Load the Excel workbookWorkBook workBook = WorkBook.Load("sample.xlsx");// Get the specified WorkSheetWorkSheet workSheet = workBook.GetWorkSheet("Sheet1");// Convert WorkSheet to DataTableDataTable dt = workSheet.ToDataTable(true); // Use first row as column names// Iterate through rows and columns and display dataforeach (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();}
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();
}
ImportsIronXLImportsSystemImportsSystem.Data' Load the Excel workbookDim workBook AsWorkBook = WorkBook.Load("sample.xlsx")' Get the specified WorkSheetDim workSheet AsWorkSheet = workBook.GetWorkSheet("Sheet1")' Convert WorkSheet to DataTableDim dt AsDataTable = workSheet.ToDataTable(True) ' Use first row as column names' Iterate through rows and columns and display dataFor Each row AsDataRowIn dt.Rows' Access rows For i AsInteger = 0 To dt.Columns.Count - 1 ' Access columns of corresponding rowConsole.Write(row(i) & " ") NextConsole.WriteLine()Next
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?
using IronXL;using System;using System.Data;// Load the Excel workbookWorkBook workBook = WorkBook.Load("sample.xlsx");// Convert the WorkBook to a DataSetDataSet ds = workBook.ToDataSet();// Iterate through tables in the DataSet and display table namesforeach (DataTable dt in ds.Tables){Console.WriteLine(dt.TableName);}
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);
}
ImportsIronXLImportsSystemImportsSystem.Data' Load the Excel workbookDim workBook AsWorkBook = WorkBook.Load("sample.xlsx")' Convert the WorkBook to a DataSetDim ds AsDataSet = workBook.ToDataSet()' Iterate through tables in the DataSet and display table namesFor Each dt AsDataTableIn ds.TablesConsole.WriteLine(dt.TableName)Next
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.
using IronXL;using System;// Load the Excel workbookWorkBook workBook = WorkBook.Load("sample.xlsx");// Iterate through every WorkSheet in the WorkBookforeach (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}"); }}
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}");
}
}
C#
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 les fonctionnalités, les classes, les champs de méthode, les espaces de noms et les énumérations d'IronXL, consultez la documentation.
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#.
Can I convert an entire workbook to a DataSet with IronXL?
Yes, you can convert an entire workbook to a DataSet using the `ToDataSet` method, which allows you to work with each worksheet as a separate DataTable.
What is the recommended way to read multiple cells at once in IronXL?
You can read multiple cells by iterating over a specified range, for example, using `foreach` on `workSheet["A2:A10"]` to read each cell's value.
How do I install IronXL in my C# project?
You can install IronXL via direct download or through NuGet Package Manager in Visual Studio. The library is free for development purposes.
How can I display Excel sheet data results in the console using IronXL?
To display Excel sheet data in the console, load the workbook using `WorkBook.Load`, access the desired worksheet, and iterate through cells to output their values using `Console.WriteLine`.
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.