Comment importer des fichiers Excel en C
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.
-
Installez IronXL avec le Gestionnaire de Packages NuGet
PM > Install-Package IronXL.Excel -
Copiez et exécutez cet extrait de code.
WorkBook wb = IronXl.WorkBook.Load("path/to/data.xlsx"); -
Déployez pour tester sur votre environnement de production.
Commencez à utiliser IronXL dans votre projet dès aujourd'hui avec un essai gratuit
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.
Flux de travail minimal (5 étapes)
- Téléchargez et installez la bibliothèque C# pour importer des fichiers Excel.
- Préparez les fichiers Excel à importer
- Utilisez la méthode
Loadpour importer la feuille de calcul. - Modifiez le fichier Excel chargé en utilisant des API intuitives
- Exportez le fichier Excel modifié dans divers formats
É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")
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")
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()
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")
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)
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
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")
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()
Le code ci-dessus affiche la sortie suivante :
Avec les valeurs du fichier Excel sample.xlsx comme suit :
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()
Le code ci-dessus nous donne le résultat suivant :
Et notre fichier sample.xlsx contient les valeurs suivantes :
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()
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)
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()
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 IronXLQuestions 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.





