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

  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 avec 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 allons charger notre fichier Excel WorkBook dans notre projet C# en utilisant la fonction WorkBook.Load() d'IronXL. Nous transmettons le chemin d'accès du fichier Excel WorkBook sous forme de paramètre de type 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é au chemin indiqué 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 cellule spécifique WorkSheet 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 de type chaîne pour spécifier quelle feuille du WorkBook 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

Le WorkSheet sera importé sous la forme ws, et wb correspond au WorkBook 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 méthodes alternatives suivantes pour importer un fichier Excel WorkSheet 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() garantit la compatibilité avec les variables de type chaîne, mais vous pouvez également effectuer un transtypage vers 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;
' 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()

' for numeric values
Dim numericValue As Decimal = ws("B2").DecimalValue

' for date values
Dim dateValue As DateTime = ws("C2").DateTimeValue
$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

Pour importer des données d'une plage spécifique à partir d'un fichier Excel WorkBook, utilisez la fonction range. 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();
Imports IronXL
Imports System

' Import Excel WorkBook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")

' Specify WorkSheet
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

' Import data of specific cell
Dim val As String = ws("A4").Value.ToString()
Console.WriteLine("Import Value of A4 Cell address: {0}", val)

Console.WriteLine("import Values in Range From B3 To B9 :" & vbCrLf)

' Import data in specific range
For Each item In ws("B3:B9")
    Console.WriteLine(item.Value.ToString())
Next

Console.ReadKey()
$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

Avec les valeurs du fichier Excel sample.xlsx comme suit :

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();
Imports IronXL
Imports System

' Import Excel file
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")

' Specify WorkSheet
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

' Import Excel file data by applying aggregate functions
Dim sum As Decimal = ws("D2:D9").Sum()
Dim avg As Decimal = ws("D2:D9").Avg()
Dim min As Decimal = ws("D2:D9").Min()
Dim max As Decimal = 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()
$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 les valeurs suivantes :

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 l'intégralité des données d'un fichier Excel dans un projet C#, il faut d'abord analyser le WorkBook chargé en DataSet. De cette manière, l'importation complète des données Excel dans les DataSet et WorkSheets des fichiers Excel devient 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

Cela permet d'importer notre WorkSheet spécifié dans un DataSet pour une utilisation conforme 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 en sorte que la première ligne DataTable contienne les noms de colonnes. 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

Cela fait de la première ligne du fichier Excel DataTable les noms de colonnes, ce qui est essentiel pour préserver 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

Voici un exemple complet d'importation de données Excel dans un DataSet et d'utilisation de la première ligne d'un fichier Excel WorkSheet comme noms de colonnes 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();
Imports IronXL
Imports System
Imports System.Data

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

' Import Excel data into a DataSet
Dim ds As DataSet = wb.ToDataSet(True)

Console.WriteLine("Excel file data imported to dataset successfully.")
Console.ReadKey()
$vbLabelText   $csharpLabel

L'utilisation des fonctions Excel Dataset et DataTable peut s'avérer complexe, mais nous proposons d'autres exemples pour intégrer des données de fichiers dans votre projet C#. Pour les scénarios avancés, pensez à consulter nos guides sur la conversion d'Excel vers SQL via DataTable et 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 Azure Functions 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 Package Manager 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 2,052,917 | Version : 2026.6 just released
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronXL.Excel
exécuter un échantillon regarder vos données devenir une feuille de calcul.