Comment importer des fichiers Excel en C

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

IronXL permet aux développeurs C# d'importer des données Excel avec une seule ligne de code, en prenant en charge les formats XLSX, CSV et autres sans dépendances Interop, ce qui permet un accès immédiat aux cellules, aux plages et aux feuilles de calcul pour la manipulation des données.

Démarrage rapide : chargez instantanément votre fichier Excel

Avec un seul appel de méthode utilisant l'API sans délai d'attente d'IronXL, vous pouvez charger n'importe quelle feuille Excel prise en charge (XLSX, CSV, etc.) en quelques secondes - pas d'interopérabilité, pas de tracas. Commencez immédiatement à interagir avec le classeur en accédant aux cellules, plages ou 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 les données d'une plage de cellules spécifique
  • Importez des données Excel avec des fonctions d'agrégation telles que SOMME, MOYENNE, MIN, MAX, et bien plus encore.
How To Work related to Comment importer des fichiers Excel en C

Étape 1

Installation de la bibliothèque IronXL

IronXL facilite l'importation d'Excel

Importez les données à l'aide des fonctions fournies par la bibliothèque Excel IronXL, que nous utiliserons dans ce tutoriel. Le logiciel est disponible gratuitement pour le développement. IronXL fournit une C# Excel API complète qui simplifie le travail avec les fichiers Excel sans nécessiter de dépendances Microsoft Office ou Interop. Elle est donc idéale pour les environnements de serveurs et les déploiements dans le nuage.

Méthodes d'installation

Installez-le dans votre projet C# via le téléchargement de la DLL ou en utilisant le package NuGet . Pour des conseils d'installation détaillés, consultez notre présentation générale de la mise en route.

Install-Package IronXL.Excel

Didacticiel de prise en main

Accéder à une feuille de travail dans votre projet

Processus de base de chargement du WorkBook

Pour les besoins de notre projet aujourd'hui, nous importerons des données Excel dans notre application C# à l'aide du logiciel IronXL installé à l'étape 1. La bibliothèque prend en charge différents formats Excel et fournit des méthodes intuitives pour charger des feuilles de calcul.

Pour l'étape 2, nous chargerons notre livre de travail Excel dans notre projet CSharp en utilisant la fonction WorkBook.Load() d'IronXL. Nous transmettons le chemin d'accès au WorkBook Excel en tant que paramètre de chaîne dans cette fonction :

// 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 situé à l'emplacement spécifié sera chargé dans wb . Cette méthode prend en charge les formats XLSX, XLS, CSV, TSV et d'autres formats de feuilles de calcul courants.

Accéder à une feuille de travail spécifique

Ensuite, nous devons accéder à une feuille de calcul spécifique du fichier Excel dont les données seront importées dans le projet. Pour cela, nous pouvons utiliser la fonction GetWorkSheet() d'IronXL, en passant le nom de la feuille comme paramètre de chaîne pour spécifier quelle feuille du classeur importer. Pour en savoir plus sur la gestion des feuilles de calcul, consultez notre guide complet.

// 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 livre de travail que nous avons défini dans l'exemple de code ci-dessus.

Méthodes alternatives pour accéder aux feuilles de travail

Il existe les alternatives suivantes pour importer une feuille de calcul Excel dans le projet. Chaque méthode offre une certaine flexibilité en fonction de votre cas d'utilisation spécifique :

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

Désormais, nous pouvons facilement importer tout type de données à partir des fichiers Excel spécifiés. Explorons tous les aspects possibles de l'importation de données de fichiers Excel dans notre projet.


Importer des données Excel en C#

Méthode de base d'importation de cellules

Voici l'aspect fondamental de l'importation de données de fichiers Excel dans notre projet. IronXL propose plusieurs façons d'accéder aux données des cellules, ce qui le rend flexible pour différents scénarios.

À cette fin, nous pouvons utiliser un système d'adressage cellulaire pour spécifier les données cellulaires que nous devons importer. Il renvoie 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

Importer des données à l'aide d'index de ligne et de colonne

Nous pouvons également importer des données de cellules à partir de fichiers Excel en utilisant les index de lignes et de colonnes. Cette ligne de code renvoie la valeur de l'index de ligne et de colonne spécifié. Cette approche est particulièrement utile lorsqu'il s'agit d'itérer dans les données de manière programmatique :

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

Stockage des valeurs importées dans les variables

Pour affecter des valeurs de cellules importées à des variables, utilisez ce code. La méthode ToString() assure la compatibilité avec les variables de type chaîne de caractères, mais vous pouvez également les convertir en d'autres types si nécessaire :

// 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();

// for numeric values
decimal numericValue = ws["B2"].DecimalValue;

// for date values
DateTime dateValue = ws["C2"].DateTimeValue;
// 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();

// for numeric values
decimal numericValue = ws["B2"].DecimalValue;

// for date values
DateTime dateValue = ws["C2"].DateTimeValue;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dans les exemples ci-dessus, l'index des lignes et des colonnes commence à 0. Pour des opérations plus avancées sur les cellules, consultez notre guide sur le nettoyage des cellules et la copie des cellules.


Importer des données à partir d'une plage spécifique

Syntaxe des fonctions de plage

To import data in a specific range from an Excel WorkBook, use the range function. Définissez la plage en décrivant les adresses des cellules de départ et d'arrivée. Cette fonction renvoie toutes les valeurs des cellules comprises dans la plage spécifiée. Pour des techniques complètes de sélection de gammes, consultez notre guide de sélection de gammes.

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

Exemple complet d'importation de plage

Pour plus d'informations sur l'utilisation des plages dans les fichiers Excel et pour en savoir plus sur les différentes méthodes d'extraction des données. L'exemple suivant illustre l'importation de valeurs de cellules individuelles et de plages :

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

Sortie de la console montrant les résultats de l'importation de la plage Excel B3:B9 avec la valeur Midmarket et la liste des pays comprenant l'Allemagne, le Mexique et le Canada

With the values of Excel file sample.xlsx as:

Feuille de calcul Excel contenant des données de vente, avec des cellules surlignées en bleu pour la sélection de la plage pendant le processus d'importation

Importer des données Excel à l'aide de fonctions agrégées

Fonctions agrégées disponibles

Appliquer des fonctions d'agrégation à des fichiers Excel et importer les données résultant de ces fonctions. IronXL propose des fonctions mathématiques intégrées qui simplifient l'analyse des données. Voici des exemples de différentes fonctions et de leur utilisation :

  • 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

Utilisation conjointe de plusieurs fonctions d'agrégation

En savoir plus sur le travail avec les fonctions d'agrégation dans Excel pour C# et en savoir plus sur l'extraction de données selon différentes méthodes. Ces fonctions sont particulièrement utiles pour générer des statistiques sommaires ou valider des données importées.

Voir un exemple d'importation de données d'un 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 le résultat suivant :

Sortie de la console montrant les fonctions agrégées d'Excel : Sum=452, Avg=56.5, Min=5, Max=350 pour la plage D2 à D9

Et notre fichier sample.xlsx contient ces valeurs :

Feuille de calcul Excel contenant des données sur les ventes, avec la colonne Prix de vente en surbrillance contenant des valeurs pour l'analyse de la fonction agrégée

Importer des données complètes d'un fichier Excel

La méthode ToDataSet

Pour importer des données complètes d'un fichier Excel dans un projet C#, commencez par analyser le WorkBook chargé en un DataSet. De cette manière, les données Excel complètes sont importées dans le DataSet, et les feuilles de travail des fichiers Excel deviennent des DataTables au sein de ce DataSet. Cette approche est particulièrement utile pour les opérations de base de données ou pour travailler avec des contrôles liés aux données. En savoir plus sur l'importation et l'exportation en tant que DataSet.

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

Cette opération importe la feuille de calcul spécifiée dans un ensemble de données (DataSet) pour l'utiliser conformément aux exigences. Cette méthode est particulièrement efficace pour travailler avec plusieurs feuilles simultanément ou pour intégrer des données Excel à des opérations ADO.NET.

Gestion des en-têtes de colonne

Souvent, la première ligne d'un fichier Excel sert de nom de colonne. Dans ce cas, faites de la première ligne des noms de colonnes DataTable. Définissez 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

La première ligne du fichier Excel devient ainsi un nom de colonne DataTable, ce qui est essentiel pour maintenir l'intégrité de la structure des données lorsque l'on travaille avec des données Excel structurées.

Exemple complet d'importation d'un jeu de données

Voir un exemple complet d'importation de données Excel dans un DataSet et d'utilisation de la première ligne d'une feuille de calcul Excel comme noms de colonnes d'un 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 Excel Dataset et DataTable peut être complexe, mais nous avons plus d'exemples disponibles pour incorporer des données de fichiers dans votre projet C#. Pour les scénarios avancés, vous pouvez consulter nos guides sur Excel vers SQL via DataTable et sur le chargement d'Excel à partir d'une base de données SQL.


Accès rapide à la bibliothèque

Explorez la référence IronXL

Pour en savoir plus sur l'extraction de données Excel via des cellules, des plages, des ensembles de données et des tables de données, consultez notre documentation complète 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 importer un fichier Excel en C# sans utiliser Microsoft Office ?

Vous pouvez importer des fichiers Excel en C# à l'aide d'IronXL, qui ne nécessite pas de dépendances Microsoft Office ou Interop. Il suffit d'utiliser la méthode WorkBook.Load() avec le chemin d'accès au fichier, comme suit : WorkBook wb = WorkBook.Load("path/to/data.xlsx"). Cela fonctionne avec les formats XLSX, XLS, CSV, TSV et autres.

Quels formats de fichiers Excel puis-je importer avec cette bibliothèque C# ?

IronXL prend en charge l'importation de divers formats Excel, notamment XLSX, XLS, CSV, TSV et d'autres formats de feuilles de calcul courants. La même méthode WorkBook.Load() gère tous ces formats automatiquement.

Est-il possible d'importer des données Excel sur des serveurs ou des environnements en nuage ?

Oui, IronXL est idéal pour les environnements de serveurs et les déploiements dans le cloud, car il ne nécessite pas de dépendances Microsoft Office ou Interop. Il est donc parfait pour les applications web, les fonctions Azure et d'autres scénarios côté serveur.

En combien de temps puis-je commencer à travailler avec des données Excel après les avoir importées ?

Grâce à l'API sans délai d'attente d'IronXL, vous pouvez charger n'importe quelle feuille Excel prise en charge en quelques secondes avec une seule ligne de code. Après avoir utilisé WorkBook.Load(), vous pouvez immédiatement commencer à interagir avec les cellules, les plages ou les feuilles de calcul.

Puis-je importer des plages de cellules spécifiques à partir de fichiers Excel ?

Oui, IronXL vous permet d'importer des données à partir de plages de cellules spécifiques après avoir chargé le classeur. Vous pouvez accéder à des cellules individuelles, à des plages ou à des feuilles de calcul entières en utilisant l'API intuitive fournie.

Comment installer la bibliothèque d'importation Excel pour C# ?

Vous pouvez installer IronXL via le gestionnaire de paquets NuGet ou en téléchargeant directement la DLL. La bibliothèque est disponible gratuitement pour le développement et fournit une documentation complète pour commencer.

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,765,830 | Version : 2025.12 vient de sortir