Comment importer des fichiers Excel en C
IronXL permet aux développeurs C# d'importer et de lire un fichier 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.
-
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 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 `Load` pour 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 classeur 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")
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. À cette fin, 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 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")
La feuille de calcul sera importée sous le nom ws, et wb est le classeur 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()
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() 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;
' 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
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")
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 :
With the values of Excel file sample.xlsx as:
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 ces valeurs :
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()
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)
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();
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()
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
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 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 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.





