IRONSOFTWAREHOME

Comment importer et exporter DataTable en C#

Curtis Chau
Curtis Chau
Updated: 4 juin 2026

IronXL convertit entre les classeurs Excel et les DataSets avec des appels de méthode uniques - utilisez LoadWorkSheetsFromDataSet() pour importer des DataSets dans des classeurs et ToDataSet() pour exporter des classeurs en tant que DataSets avec un mappage automatique feuille à table.

Un DataSet est une représentation en mémoire des données contenant plusieurs tables, relations et contraintes liées. Utilisé pour travailler avec des données provenant de bases de données, de XML et d'autres sources. Lorsqu'on travaille avec des fichiers Excel en C#, DataSet offre une structure .NET familière qui s'intègre aux applications pilotées par les données.

Un DataTable représente une seule table avec des lignes et des colonnes dans un DataSet. IronXL mappe automatiquement chaque feuille de calcul Excel à un DataTable correspondant, en préservant les en-têtes de colonne et les types de données pendant la conversion.

Démarrage rapide : exporter le classeur en tant que System.Data.DataSet instantanément

Convertir un classeur en DataSet ne nécessite qu'un appel de méthode. Cet exemple exporte votre classeur entier - chaque feuille comme un DataTable - à l'aide de ToDataSet avec une reconnaissance facultative de l'en-tête de la première ligne.

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. 2Copiez et exécutez cet extrait de code.

    DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true);
    C#
  3. 3Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronXL dans votre projet dès aujourd'hui avec un essai gratuit
    arrow pointer

Comment charger un DataSet dans un classeur ?

Utilisez la méthode statique LoadWorkSheetsFromDataSet pour importer un DataSet dans un classeur. Cette méthode nécessite à la fois des objets DataSet et Workbook. Elle accepte également des paramètres optionnels via DataSet. Créez d'abord le classeur en utilisant la méthode Create. Passez l'objet DataSet et l'objet workbook à la méthode.

using IronXL;
using System.Data;

// Create dataset
DataSet dataSet = new DataSet();

// Create workbook
WorkBook workBook = WorkBook.Create();

// Load DataSet to workBook
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook);

Chaque DataTable dans le DataSet devient une feuille de calcul distincte. Le nom du tableau devient le nom de la feuille de calcul, ce qui permet de conserver l'organisation des données. Pour les sources de données multiples, combinez ceci avec la création de nouvelles feuilles de calcul ou la gestion des feuilles de calcul existantes.

Voici un exemple complet de chargement d'un DataSet avec plusieurs tables :

using IronXL;
using System.Data;

// Create a DataSet with multiple tables
DataSet salesData = new DataSet("CompanySales");

// Create and populate a products table
DataTable productsTable = new DataTable("Products");
productsTable.Columns.Add("ProductID", typeof(int));
productsTable.Columns.Add("ProductName", typeof(string));
productsTable.Columns.Add("Price", typeof(decimal));

// Add sample data
productsTable.Rows.Add(1, "Laptop", 999.99m);
productsTable.Rows.Add(2, "Mouse", 19.99m);
productsTable.Rows.Add(3, "Keyboard", 49.99m);

// Create and populate a sales table
DataTable salesTable = new DataTable("Sales");
salesTable.Columns.Add("SaleID", typeof(int));
salesTable.Columns.Add("ProductID", typeof(int));
salesTable.Columns.Add("Quantity", typeof(int));
salesTable.Columns.Add("Date", typeof(DateTime));

// Add sample sales data
salesTable.Rows.Add(1, 1, 5, DateTime.Now);
salesTable.Rows.Add(2, 2, 25, DateTime.Now.AddDays(-1));
salesTable.Rows.Add(3, 3, 10, DateTime.Now.AddDays(-2));

// Add tables to DataSet
salesData.Tables.Add(productsTable);
salesData.Tables.Add(salesTable);

// Create workbook and load DataSet
WorkBook workBook = WorkBook.Create();
WorkBook.LoadWorkSheetsFromDataSet(salesData, workBook);

// Save the workbook with all imported data
workBook.SaveAs("SalesReport.xlsx");

Cette approche fonctionne bien lorsqu'il s'agit d'exporter des données à partir de bases de données SQL ou de consolider des données provenant de sources multiples au format Excel.

Visitez le site How to Load Existing Spreadsheets pour en savoir plus sur l'importation de feuilles de calcul à partir de différents formats de fichiers.


Comment exporter un classeur au format DataSet ?

La méthode ToDataSet convertit le classeur en un System.Data.DataSet, où chaque feuille de calcul devient un System.Data.DataTable. Appelez cette méthode sur le classeur Excel pour le convertir en un objet DataSet. Le paramètre useFirstRowAsColumnNames détermine s'il faut utiliser la première ligne comme noms de colonne.

// source file not found: /static-assets/excel-content-code-examples/how-to/export-dataset-datatable-export.cs
C#

IronXL gère automatiquement la conversion des types de données et conserve la structure des feuilles de calcul lors de l'exportation vers DataSets. Ceci est utile lors de l'intégration de données Excel dans des bases de données SQL ou de l'utilisation de données dans d'autres applications .NET.

Exemple avancé démontrant l'exportation de classeurs et le traitement de jeux de données :

using IronXL;
using System;
using System.Data;

// Load an existing Excel file
WorkBook workBook = WorkBook.Load("FinancialData.xlsx");

// Export to DataSet with column headers from first row
DataSet financialDataSet = workBook.ToDataSet(useFirstRowAsColumnNames: true);

// Process each DataTable in the DataSet
foreach (DataTable table in financialDataSet.Tables)
{
    Console.WriteLine($"Processing table: {table.TableName}");
    Console.WriteLine($"Columns: {table.Columns.Count}, Rows: {table.Rows.Count}");
    
    // Iterate through columns
    foreach (DataColumn column in table.Columns)
    {
        Console.WriteLine($"  Column: {column.ColumnName} ({column.DataType})");
    }
    
    // Process first 5 rows as example
    int rowCount = 0;
    foreach (DataRow row in table.Rows)
    {
        if (rowCount++ >= 5) break;
        
        // Access data by column name
        foreach (DataColumn col in table.Columns)
        {
            Console.WriteLine($"    {col.ColumnName}: {row[col]}");
        }
    }
}

// You can also export specific worksheets as DataTables
WorkSheet specificSheet = workBook.GetWorkSheet("Q1Sales");
DataTable q1Data = specificSheet.ToDataTable(useFirstRowAsColumnNames: true);

// Use the DataTable with other .NET components
// For example, bind to a DataGridView or save to database
C#

Le DataSet exporté maintient les relations et les contraintes définies dans Excel, parfait pour travailler avec des structures de données Excel complexes sans dépendances Excel Interop.

Fonctionnalités supplémentaires de DataSet/DataTable

IronXL offre des fonctionnalités avancées lorsqu'on travaille avec DataSet et DataTable :

Gestion des types de données

IronXL fait correspondre intelligemment les types de données lors de la conversion Excel-DataSet. Les cellules numériques deviennent des types numériques appropriés (Int32, Double, Decimal), les cellules de date deviennent des objets DateTime, les cellules de texte deviennent des String. Personnalisez ceci en définissant les formats de données des cellules avant la conversion.

Optimisation des Performances

IronXL optimise l'utilisation de la mémoire et la vitesse de traitement pour les grands ensembles de données. La bibliothèque permet d'acheminer efficacement les données en continu plutôt que de tout charger en mémoire. Convient aux applications d'entreprise traitant de gros volumes de données.

Intégration avec d'autres fonctionnalités

La fonctionnalité DataSet/DataTable s'intègre à d'autres fonctionnalités d'IronXL :

  • Appliquez des formules et calculs avant d'exporter vers un DataSet
  • Utilisez la mise en forme conditionnelle pour mettre en évidence les données avant la conversion
  • Combinez avec création de graphiques pour la création de rapports visuels
  • Prise en charge de la sérialisation personnalisée à l'aide de int
  • Inclure des règles de validation des données via decimal
  • Gérer les valeurs manquantes avec double
  • Gérer les métadonnées des feuilles de calcul via DateTime
  • Préserver les types de formatage des cellules à l'aide de string

Visitez le site How to Save or Export Spreadsheets pour en savoir plus sur l'exportation de feuilles de calcul vers différents formats de fichiers.

Questions Fréquemment Posées

Comment convertir un classeur Excel en DataSet en C# ?

Avec IronXL, vous pouvez convertir un classeur Excel en un ensemble de données à l'aide de la méthode ToDataSet(). Appelez simplement WorkBook.ToDataSet(useFirstRowAsColumnNames : true) pour exporter votre classeur entier où chaque feuille devient une DataTable dans le DataSet résultant.

Puis-je importer un ensemble de données dans un classeur Excel par programme ?

Oui, IronXL fournit la méthode LoadWorkSheetsFromDataSet() pour importer un ensemble de données dans un classeur. Créez un classeur en utilisant WorkBook.Create(), puis passez l'ensemble de données et le classeur à cette méthode statique. Chaque tableau de données devient une feuille de calcul distincte.

Qu'advient-il des noms des tableaux de données lors de l'importation dans Excel ?

Lorsque vous utilisez la méthode LoadWorkSheetsFromDataSet() d'IronXL, chaque nom de table de données devient automatiquement le nom de la feuille de calcul dans Excel, ce qui permet de conserver l'organisation de vos données et d'identifier facilement les différentes sources de données.

La bibliothèque préserve-t-elle les en-têtes de colonnes lors de la conversion des jeux de données ?

Oui, IronXL préserve les en-têtes de colonnes et les types de données lors de la conversion entre Excel et les DataSets. Lors de l'utilisation de ToDataSet() avec useFirstRowAsColumnNames réglé sur true, la première ligne de chaque feuille de calcul est reconnue comme en-tête de colonne.

Comment les tableaux multiples sont-ils gérés lors de la conversion entre Excel et DataSets ?

IronXL fait automatiquement correspondre chaque feuille de calcul Excel à une DataTable correspondante lors de la conversion en DataSet, et vice versa. Lors de l'importation d'un DataSet avec plusieurs tables, chaque DataTable crée une feuille de travail séparée dans le classeur.

Quel est le code minimal nécessaire pour exporter Excel vers DataSet ?

Le code minimal pour exporter un classeur Excel vers un DataSet à l'aide d'IronXL.Excel ne comporte qu'une seule ligne : DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames : true) ; Ceci convertit votre classeur entier avec un mappage automatique de la feuille à la table.

What performance optimizations does IronXL include for handling large datasets?

IronXL is optimized for high performance, using efficient streaming techniques to manage memory and speed when working with large data volumes, making it suitable for enterprise-level applications.

How does IronXL maintain data structure when converting a workbook to a DataSet?

IronXL maintains the organizational structure by converting each worksheet to a DataTable. The relationships, constraints, column headers, and data types are preserved during conversion, allowing for complex data interactions.

Can I use IronXL to create visual reports using Excel data?

Yes, IronXL supports creating charts and visual reports by integrating its DataSet/DataTable functionality with its chart creation features, allowing for comprehensive data visualization directly from Excel data.

Does IronXL support the integration of custom serialization in DataSet operations?

IronXL allows for custom serialization, which can enhance DataSet and DataTable manipulation according to specific application requirements, providing greater flexibility in handling serialized data.

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

Prêt à commencer?

Nuget Downloads 2,237,574Version :2026.9vient de sortir

Obtenez votre GRATUIT

Clé d'essai de 30 jours instantanément.

bullet_checkedAucune carte de crédit ou création de compte requise
bullet_testTester en production
sans filigranes
bullet_calendarProduit entièrement fonctionnel
pendant 30 jours
bullet_supportSupport technique 24/5
pendant l'essai
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez "IronXL"
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

  1. Téléchargez et dézippez IronXL dans un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'Explorateur de solutions de Visual Studio, cliquez avec le bouton droit sur Références. Sélectionnez Parcourir, "IronXL.dll"

Licences à partir de $999

Vous avez une question ? Contactez notre équipe de développement.

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