IRONSOFTWAREHOME
UTILISATION D'IRONXL

Importer un fichier Excel dans DataTable avec IronXL

Curtis Chau
Curtis Chau
Updated: 8 mai 2026

Importer un fichier Excel dans une DataTable avec IronXL en C#

Ce n'est un secret pour personne que l'analyse manuelle de fichiers Excel est rarement le moment le plus agréable de la journée d'un développeur. Nous sommes tous passés par là, à lutter contre d'anciennes chaînes de connexion OLEDB ou à essayer de convertir des données de feuilles de calcul non structurées en un format que votre application .NET peut réellement comprendre.

La DataTable en C# est un formidable outil d'égalisation. Il sert de pont idéal, transformant ces lignes et colonnes en une structure familière, prête pour les requêtes LINQ, la liaison DataGrid ou un accès rapide à une base de données SQL.

IronXL simplifie considérablement ce processus. Au lieu de configurations complexes, il utilise une seule méthode ToDataTable intuitive pour gérer la conversion. Que vous développiez un outil de reporting ou un script de migration de données, voici comment importer facilement des données Excel.

Vous voulez nous suivre ? Utilisez la version d'essai gratuite IronXL pour tester vous-même cette puissante bibliothèque.

How Can You Import an Excel File into a DataTable in C#?

Pour importer un fichier Excel dans un DataTable en C#, chargez le classeur à l'aide de WorkBook.Load, accédez à la feuille de calcul cible et appelez la méthode ToDataTable. Cette approche fonctionne avec les fichiers XLSX, XLS, XLSM et CSV. Veillez à faire référence aux espaces de noms suivants pour accéder aux classes nécessaires.

Installez IronXL via le gestionnaire de packages NuGet en exécutant la commande suivante dans Visual Studio à l'aide du gestionnaire de packages NuGet :

PM > Install-Package IronXL.Excel

Ensuite, utilisez ce court extrait de code pour faire circuler vos données :

using IronXL;
using System;
using System.Data;
class Program
{
    static void Main(string[] args)
    {
        // Load the Excel file from the specified path
        string filePath = "sales-data.xlsx";
        WorkBook workbook = WorkBook.Load(filePath);
        // Access the first worksheet in the workbook
        WorkSheet worksheet = workbook.DefaultWorkSheet;
        // Convert worksheet to DataTable with first row as column headers
        DataTable dt = worksheet.ToDataTable(true);
        // Display the imported data
        foreach (DataRow row in dt.Rows)
        {
            Console.WriteLine(string.Join(" | ", row.ItemArray));
        }
    }
}

Sortie

Importation d'un fichier Excel dans DataTable avec IronXL : Image 1 - Fichier Excel importé dans une DataTable

La méthode WorkBook.Load lit le fichier Excel à partir de l'emplacement filePath (chaîne de caractères) et crée un objet classeur contenant toutes les données de la feuille Excel. Le paramètre ToDataTable(true) indique que la première ligne contient des en-têtes de colonne, qui sont automatiquement utilisés comme les noms de colonne du DataTable.

Quelle est la meilleure méthode pour importer les données d'un fichier Excel dans un DataTable ?

La lecture efficace du contenu d'un fichier Excel nécessite la gestion à la fois des lignes d'en-tête et des données brutes. La méthode ToDataTable d'IronXL accepte un paramètre booléen qui détermine si la première ligne est traitée comme des noms de colonnes ou comme des données. Notez que la gestion des propriétés étendues ou la conversion de types de cellules complexes peuvent nécessiter une configuration supplémentaire, mais la méthode par défaut gère la plupart des cas de manière robuste.

using IronXL;
using System.Data;
// Load workbook from file path
string filePath = @"C:\Data\inventory.xlsx";
WorkBook workbook = WorkBook.Load(filePath);
WorkSheet worksheet = workbook.WorkSheets[0];
// First row as headers (true) or as data (false)
DataTable dataTableWithHeaders = worksheet.ToDataTable(true);
DataTable dataTableWithoutHeaders = worksheet.ToDataTable(false);
// Process each row in the DataTable
foreach (DataRow row in dataTableWithHeaders.Rows)
{
    for (int i = 0; i < dataTableWithHeaders.Columns.Count; i++)
    {
        object value = row[i];
        Console.Write($"{value}\t");
    }
    Console.WriteLine();
}

Sortie

Importation d'un fichier Excel dans DataTable avec IronXL : Image 2 - Résultat de l'importation et de la lecture d'un fichier Excel dans une DataTable

Cette flexibilité fait IronXL la solution idéale pour le traitement des fichiers de tableur Excel, quelle que soit leur structure. Contrairement au package EPPlus ou aux méthodes traditionnelles nécessitant de nouvelles instances d'OleDbDataAdapter, IronXL gère la conversion en un seul appel de méthode. La bibliothèque prend en charge .NET Core, .NET Framework et le déploiement multiplateforme sans nécessiter l'installation de Microsoft Excel.

Comment convertir plusieurs feuilles de calcul Excel en un jeu de données ?

Lorsque votre classeur Excel contient plusieurs feuilles, la conversion en DataSet préserve chaque feuille de calcul Excel en tant que DataTable distincte au sein de la collection. Cette approche est essentielle pour les applications de reporting et le traitement de données multi-feuilles.

using IronXL;
using System;
using System.Data;
// Load multi-sheet workbook
WorkBook workbook = WorkBook.Load("quarterly-reports.xlsx");
// Convert entire workbook to DataSet (each sheet becomes a DataTable)
DataSet dataset = workbook.ToDataSet();
// Iterate through all tables in the DataSet
foreach (DataTable table in dataset.Tables)
{
    Console.WriteLine($"Sheet: {table.TableName}");
    Console.WriteLine($"Rows: {table.Rows.Count}, Columns: {table.Columns.Count}");
    foreach (DataRow row in table.Rows)
    {
        Console.WriteLine(string.Join(", ", row.ItemArray));
    }
}

Sortie

Importation d'un fichier Excel dans DataTable avec IronXL : Image 3 - Résultat de l'importation d'un fichier Excel multi-feuilles dans un DataSet

La méthode ToDataSet crée un nouveau DataSet contenant des objets DataTable pour chaque feuille de calcul. La propriété TableName de chaque tableau reflète le nom de la feuille Excel d'origine, ce qui facilite la référence à des données spécifiques lors du traitement.

Comment importer des données d'Excel vers une base de données ?

Un flux de travail courant consiste à lire les données d'un fichier Excel et à les insérer dans un système de base de données. La structure DataTable s'intègre parfaitement à .NET pour les opérations de base de données.

using IronXL;
using System.Data;
using System.Data.SqlClient;
string filePath = @"C:\imports\customer-data.xlsx";
WorkBook workbook = WorkBook.Load(filePath);
WorkSheet worksheet = workbook.DefaultWorkSheet;
// Convert Excel data to DataTable
DataTable dt = worksheet.ToDataTable(true);
// Validate data before database insert
if (dt == null || dt.Rows.Count == 0)
{
    Console.WriteLine("No data to import");
    return;
}
// Insert into database using SqlBulkCopy
string connectionString = "Server=.;Database=Sales;Trusted_Connection=True;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))
    {
        bulkCopy.DestinationTableName = "Customers";
        bulkCopy.WriteToServer(dt);
    }
}
Console.WriteLine($"Imported {dt.Rows.Count} records successfully");

Ce code montre comment charger un fichier Excel, le convertir en DataTable et effectuer une insertion en masse dans une base de données. La vérification de valeur nulle garantit l'intégrité des données avant de tenter l'opération d'importation.

Comment exporter un DataTable vers Excel ?

IronXL prend en charge le flux de données bidirectionnel, vous permettant de créer des fichiers Excel à partir d'objets DataTable pour les scénarios de reporting et d'exportation de données.

using IronXL;
using System.Data;
// Create sample DataTable
DataTable dt = new DataTable("Products");
dt.Columns.Add("ProductID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Price", typeof(decimal));
dt.Rows.Add(1, "Widget", 29.99m);
dt.Rows.Add(2, "Gadget", 49.99m);
// Create new workbook and load DataTable
WorkBook workbook = WorkBook.Create();
workbook.LoadWorkSheetsFromDataSet(new DataSet { Tables = { dt } });
// Save as Excel file
workbook.SaveAs("exported-products.xlsx");

Sortie

Importation d'un fichier Excel dans DataTable avec IronXL : Image 4 - DataTable exportée vers Excel

La méthode LoadWorkSheetsFromDataSet accepte un DataSet contenant vos objets DataTable et crée les feuilles de calcul correspondantes. Pour en savoir plus sur l'exportation de DataTable vers Excel, consultez la documentation.

Conclusion

IronXL transforme la complexité de la conversion Excel vers DataTable en appels de méthodes simples. Qu'il s'agisse d'importer une seule feuille de calcul Excel ou de traiter des classeurs à plusieurs feuilles pour obtenir un DataSet complet, la bibliothèque gère efficacement les fichiers XLSX, la conversion des types de données et le chargement en flux continu.

La combinaison de la flexibilité de DataTable et de l'API intuitive d'IronXL permet des flux de données puissants pour l'intégration de bases de données, les systèmes de reporting et la liaison de données d'applications. Téléchargez IronXL pour optimiser le traitement de vos données Excel, ou achetez une licence pour un déploiement en production.

Première étape :
arrow pointer
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 et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise