Comment importer des fichiers Excel en C#

This article was translated from English: Does it need improvement?
Translated
View the article in English

En tant que développeurs, nous devons souvent importer des données à partir de fichiers Excel et les utiliser pour satisfaire aux exigences de gestion de nos applications et données. Sans nécessiter de nombreuses lignes de code, IronXL nous offre un moyen facile d'importer exactement les données dont nous avons besoin directement dans un projet C# et de les manipuler ensuite de manière programmatique.

comme-titre:2(Démarrage rapide : Chargez instantanément votre fichier Excel)

Avec un simple appel de méthode utilisant l'API sans délai d'IronXL, vous pouvez charger n'importe quelle feuille Excel prise en charge (XLSX, CSV, etc.) en quelques secondes — pas d'Interop, pas de souci. Commencez immédiatement à interagir avec le classeur en accédant aux cellules, aux plages ou aux feuilles selon vos besoins.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronXL avec le gestionnaire de packages NuGet

    PM > Install-Package IronXL.Excel

  2. Copiez et exécutez cet extrait de code.

    WorkBook wb = IronXL.WorkBook.Load("path/to/data.xlsx");
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronXL dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer

Importer des données Excel en C#

  • Importer des données avec la bibliothèque IronXL
  • Importer des données Excel en C#
  • Importer des données d'une plage de cellules spécifique
  • Importer des données Excel avec les fonctions d'agrégation SUM, AVG, MIN, MAX, et plus
How To Work related to Comment importer des fichiers Excel en C#

Étape 1

1. Importer des données avec la bibliothèque IronXL

Importer des données en utilisant les fonctions fournies par la bibliothèque IronXL Excel, que nous utiliserons dans ce tutoriel. Le logiciel est disponible gratuitement pour le développement.

Installez dans votre projet C# via téléchargement de DLL ou naviguez en utilisant le package NuGet.

Install-Package IronXL.Excel

Comment faire un tutoriel

2. Accéder à la feuille de travail pour le projet

Pour les besoins de notre projet aujourd'hui, nous importerons des données Excel dans notre application C# en utilisant le logiciel IronXL installé à l'étape 1.

Pour l'étape 2, nous chargerons notre classeur Excel dans notre projet CSharp en utilisant la fonction WorkBook.Load() d'IronXL. Nous passons le chemin du classeur Excel en tant que paramètre chaîne dans cette fonction, comme ceci :

// Load Excel file
WorkBook wb = WorkBook.Load("Path");
// Load Excel file
WorkBook wb = WorkBook.Load("Path");
' Load Excel file
Dim wb As WorkBook = WorkBook.Load("Path")
$vbLabelText   $csharpLabel

Le fichier Excel au chemin spécifié sera chargé dans wb.

Ensuite, nous devons accéder à une feuille spécifique du fichier Excel dont les données seront importées dans le projet. À cette fin, nous pouvons utiliser la fonction GetWorkSheet() d'IronXL, en passant le nom de la feuille en tant que paramètre chaîne pour spécifier quelle feuille du classeur importer.

// Specify sheet name of Excel WorkBook
WorkSheet ws = wb.GetWorkSheet("SheetName");
// Specify sheet name of Excel WorkBook
WorkSheet ws = wb.GetWorkSheet("SheetName");
' Specify sheet name of Excel WorkBook
Dim ws As WorkSheet = wb.GetWorkSheet("SheetName")
$vbLabelText   $csharpLabel

La feuille de travail sera importée en tant que ws, et wb est le classeur que nous avons défini dans l'exemple de code ci-dessus.

Il existe également les moyens alternatifs suivants pour importer une feuille de travail Excel dans le projet.

// Import WorkSheet by various methods

// by sheet indexing
WorkSheet mySheet = wb.WorkSheets[SheetIndex];

// get default WorkSheet
WorkSheet defaultSheet = wb.DefaultWorkSheet;

// get first WorkSheet
WorkSheet firstSheet = wb.WorkSheets.First();

// for the first or default sheet
WorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault();
// Import WorkSheet by various methods

// by sheet indexing
WorkSheet mySheet = wb.WorkSheets[SheetIndex];

// get default WorkSheet
WorkSheet defaultSheet = wb.DefaultWorkSheet;

// get first WorkSheet
WorkSheet firstSheet = wb.WorkSheets.First();

// for the first or default sheet
WorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault();
' Import WorkSheet by various methods

' by sheet indexing
Dim mySheet As WorkSheet = wb.WorkSheets(SheetIndex)

' get default WorkSheet
Dim defaultSheet As WorkSheet = wb.DefaultWorkSheet

' get first WorkSheet
Dim firstSheet As WorkSheet = wb.WorkSheets.First()

' for the first or default sheet
Dim firstOrDefaultSheet As WorkSheet = wb.WorkSheets.FirstOrDefault()
$vbLabelText   $csharpLabel

Maintenant, nous pouvons facilement importer tout type de données des fichiers Excel spécifiés. Voyons tous les aspects possibles que nous utilisons pour importer des données de fichiers Excel dans notre projet.


3. Importer des données Excel en C#

C'est l'aspect de base de l'importation de données de fichiers Excel dans notre projet.

À cette fin, nous pouvons utiliser un système d'adressage de cellules pour spécifier quelles données de cellule nous devons importer. Il renverra la valeur d'une adresse de cellule spécifique du fichier Excel.

var cellValue = ws["Cell Address"];
var cellValue = ws["Cell Address"];
Dim cellValue = ws("Cell Address")
$vbLabelText   $csharpLabel

Nous pouvons également importer des données de cellule à partir de fichiers Excel en utilisant les index de ligne et de colonne. Cette ligne de code renverra la valeur de l'index de ligne et de colonne spécifié.

var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex];
var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex];
Dim cellValueByIndex = ws.Rows(RowIndex).Columns(ColumnIndex)
$vbLabelText   $csharpLabel

Si nous voulons attribuer les valeurs des cellules importées à des variables, nous pouvons utiliser ce code.

// Import Data by Cell Address
// by cell addressing
string val = ws["Cell Address"].ToString();

// by row and column indexing
string valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString();
// Import Data by Cell Address
// by cell addressing
string val = ws["Cell Address"].ToString();

// by row and column indexing
string valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString();
' Import Data by Cell Address
' by cell addressing
Dim val As String = ws("Cell Address").ToString()

' by row and column indexing
Dim valWithIndexing As String = ws.Rows(RowIndex).Columns(ColumnIndex).Value.ToString()
$vbLabelText   $csharpLabel

Dans les exemples ci-dessus, l'index de ligne et de colonne commence à 0.


4. Importer des données Excel de plage spécifique

Si nous voulons importer des données dans une plage spécifique d'un classeur Excel, cela peut être facilement fait en utilisant la fonction range. Pour définir la plage, nous devons décrire les adresses des cellules de début et de fin. De cette manière, elle renverra toutes les valeurs de cellules dans la plage spécifiée.

var rangeData = ws["Starting Cell Address:Ending Cell Address"];
var rangeData = ws["Starting Cell Address:Ending Cell Address"];
Dim rangeData = ws("Starting Cell Address:Ending Cell Address")
$vbLabelText   $csharpLabel

Pour plus d'informations sur le travail avec la plage dans les fichiers Excel, consultez les exemples de code fournis.

:path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-import.cs
using IronXL;
using System;

// Import Excel WorkBook
WorkBook wb = WorkBook.Load("sample.xlsx");

// Specify WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");

// Import data of specific cell
string val = ws["A4"].Value.ToString();
Console.WriteLine("Import Value of A4 Cell address: {0}", val);

Console.WriteLine("import Values in Range From B3 To B9 :\n");

// Import data in specific range
foreach (var item in ws["B3:B9"])
{
    Console.WriteLine(item.Value.ToString());
}

Console.ReadKey();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Le code ci-dessus affiche la sortie suivante :

1output related to 4. Importer des données Excel de plage spécifique

Avec les valeurs du fichier Excel sample.xlsx comme :

1excel related to 4. Importer des données Excel de plage spécifique

5. Importer des données Excel par fonctions d'agrégation

Nous pouvons également appliquer des fonctions d'agrégation aux fichiers Excel et importer les données résultantes de ces fonctions d'agrégation. Voici quelques exemples des différentes fonctions et comment les utiliser.

  • Sum()

    // To find the sum of a specific cell range
    var sum = ws["Starting Cell Address:Ending Cell Address"].Sum();
    // To find the sum of a specific cell range
    var sum = ws["Starting Cell Address:Ending Cell Address"].Sum();
    ' To find the sum of a specific cell range
    Dim sum = ws("Starting Cell Address:Ending Cell Address").Sum()
    $vbLabelText   $csharpLabel
  • Average()

    // To find the average of a specific cell range
    var average = ws["Starting Cell Address:Ending Cell Address"].Avg();
    // To find the average of a specific cell range
    var average = ws["Starting Cell Address:Ending Cell Address"].Avg();
    ' To find the average of a specific cell range
    Dim average = ws("Starting Cell Address:Ending Cell Address").Avg()
    $vbLabelText   $csharpLabel
  • Min()

    // To find the minimum in a specific cell range
    var minimum = ws["Starting Cell Address:Ending Cell Address"].Min();
    // To find the minimum in a specific cell range
    var minimum = ws["Starting Cell Address:Ending Cell Address"].Min();
    ' To find the minimum in a specific cell range
    Dim minimum = ws("Starting Cell Address:Ending Cell Address").Min()
    $vbLabelText   $csharpLabel
  • Max()

    // To find the maximum in a specific cell range
    var maximum = ws["Starting Cell Address:Ending Cell Address"].Max();
    // To find the maximum in a specific cell range
    var maximum = ws["Starting Cell Address:Ending Cell Address"].Max();
    ' To find the maximum in a specific cell range
    Dim maximum = ws("Starting Cell Address:Ending Cell Address").Max()
    $vbLabelText   $csharpLabel

Vous pouvez en savoir plus sur le travail avec les fonctions d'agrégation dans Excel pour C# et apprendre davantage sur l'extraction de données de différentes manières.

Voyons un exemple de comment importer des données de fichier Excel en appliquant ces fonctions.

:path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-math-functions.cs
using IronXL;
using System;

// Import Excel file
WorkBook wb = WorkBook.Load("sample.xlsx");

// Specify WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");

// Import Excel file data by applying aggregate functions
decimal sum = ws["D2:D9"].Sum();
decimal avg = ws["D2:D9"].Avg();
decimal min = ws["D2:D9"].Min();
decimal max = ws["D2:D9"].Max();

Console.WriteLine("Sum From D2 To D9: {0}", sum);
Console.WriteLine("Avg From D2 To D9: {0}", avg);
Console.WriteLine("Min From D2 To D9: {0}", min);
Console.WriteLine("Max From D2 To D9: {0}", max);

Console.ReadKey();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Le code ci-dessus nous donne cette sortie :

2output related to 5. Importer des données Excel par fonctions d'agrégation

Et notre fichier sample.xlsx aura ces valeurs :

2excel related to 5. Importer des données Excel par fonctions d'agrégation

6. Importer les données complètes du fichier Excel

Si nous voulons importer des données complètes de fichier Excel dans notre projet C#, nous pouvons d'abord analyser notre classeur chargé dans un DataSet. De cette façon, les données complètes d'Excel seraient importées dans le DataSet et les feuilles de travail sur les fichiers Excel deviennent des DataTables au sein de ce DataSet. Voici comment cela fonctionne :

// Import WorkBook into DataSet
DataSet ds = wb.ToDataSet();
// Import WorkBook into DataSet
DataSet ds = wb.ToDataSet();
' Import WorkBook into DataSet
Dim ds As DataSet = wb.ToDataSet()
$vbLabelText   $csharpLabel

De cette manière, notre feuille de travail spécifiée sera importée dans un DataSet que nous pourrons utiliser selon nos besoins.

Souvent, la première colonne d'un fichier Excel est utilisée comme ColumnName. Dans ce cas, nous devons rendre la première colonne une ColumnName de DataTable. Pour ce faire, nous définissons le paramètre booléen de la fonction ToDataSet() d'IronXL comme suit :

// Import WorkBook into DataSet with first row as ColumnNames
DataSet ds = wb.ToDataSet(true);
// Import WorkBook into DataSet with first row as ColumnNames
DataSet ds = wb.ToDataSet(true);
' Import WorkBook into DataSet with first row as ColumnNames
Dim ds As DataSet = wb.ToDataSet(True)
$vbLabelText   $csharpLabel

Cela rendra la première colonne du fichier Excel comme un ColumnName de DataTable.

Voyons un exemple complet de comment importer les données Excel dans un DataSet et utiliser la première colonne d'une feuille de travail Excel comme un ColumnName de DataTable :

:path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-dataset.cs
using IronXL;
using System;
using System.Data;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");

// Import Excel data into a DataSet
DataSet ds = wb.ToDataSet(true);

Console.WriteLine("Excel file data imported to dataset successfully.");
Console.ReadKey();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Travailler avec les fonctions de DataSet et de DataTable Excel peut être compliqué, mais nous avons plus d'exemples disponibles pour incorporer les données de fichier dans votre projet C#.


Accès rapide à la bibliothèque

Explorez la référence IronXL

Apprenez-en plus sur l'extraction de données Excel via les cellules, les plages, les ensembles de données et les tables dans notre documentation complète de référence API pour IronXL.

Explorez la référence IronXL
Documentation related to Accès rapide à la bibliothèque

Questions Fréquemment Posées

Comment puis-je importer des fichiers Excel en C# sans utiliser Interop ?

Vous pouvez utiliser IronXL pour importer des fichiers Excel en C# sans Interop. Utilisez simplement la méthode WorkBook.Load() pour charger votre fichier et accéder aux données grâce à diverses fonctions telles que GetWorkSheet().

Comment installer la bibliothèque IronXL dans un projet C# ?

Installez IronXL via NuGet en exécutant la commande Install-Package IronXL.Excel dans la console du gestionnaire de packages, ou téléchargez le DLL directement depuis le site web d'IronXL.

Quelles méthodes sont disponibles pour accéder à des feuilles spécifiques dans IronXL ?

Vous pouvez accéder à des feuilles spécifiques dans IronXL en utilisant la méthode GetWorkSheet() en fournissant le nom de la feuille en tant qu'argument.

Comment importer des données depuis une plage spécifique de cellules en C# ?

Avec IronXL, vous pouvez importer des données depuis une plage spécifique de cellules en définissant les adresses de cellule de début et de fin dans la fonction de plage, permettant une manipulation précise des données.

Quels sont les avantages d'utiliser IronXL pour la gestion des données Excel en C#?

IronXL offre une flexibilité dans la gestion des données Excel avec des fonctionnalités telles que l'importation de données via des cellules, des plages et des fonctions d'agrégation. Il simplifie les opérations sans avoir besoin d'Interop et offre une API robuste pour la manipulation avancée des données.

Comment les fonctions agrégées peuvent-elles être utilisées lors de l'importation de données Excel ?

Vous pouvez utiliser IronXL pour effectuer des fonctions agrégées telles que Somme, Moyenne, Min et Max lors de l'importation de données depuis des fichiers Excel, améliorant ainsi les capacités d'analyse de données.

Est-il possible de convertir des feuilles Excel en DataTables en C# ?

Oui, vous pouvez convertir des feuilles Excel en DataTables en C# en utilisant IronXL en chargeant le classeur et en utilisant la méthode ToDataSet(), ce qui facilite une gestion large des données.

Puis-je utiliser la première ligne d'une feuille Excel comme en-têtes de colonne en C# ?

IronXL vous permet d'utiliser la première ligne d'une feuille Excel comme en-têtes de colonne en définissant le paramètre booléen de la fonction ToDataSet() sur vrai, convertissant les données en un DataTable structuré.

Où puis-je trouver plus d'informations sur l'utilisation d'IronXL pour les opérations Excel ?

Pour plus de détails sur l'utilisation d'IronXL pour les opérations Excel, explorez la documentation API complète fournie par IronXL, qui offre des insights sur les techniques de manipulation de données et les fonctionnalités avancées.

Curtis Chau
Rédacteur technique

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 ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 1,738,553 | Version: 2025.11 vient de sortir