How to Use C# to Convert Datatable to CSV

This article was translated from English: Does it need improvement?
Translated
View the article in English

Convertissez un DataTable en CSV en C# en utilisant IronXL en créant un WoukBook, en le remplissant avec des DataTable lignes et en appelant la méthode SaveAsCsv() - aucune boucle complexe ni interopérabilité requise.

Démarrage rapide : Expoutation en une ligne de DataTable vers CSV

Utilisez IronXL pour convertir un DataTable rempli en un fichier CSV avec un seul appel de méthode — sans boucles, sans interopérabilité, sans complexité. Vous n'avez besoin que d'un WoukBook et de son DefaultWoukSheet pour expouter en quelques secondes en utilisant SaveAsCsv.

  1. Installez IronXL avec le Gestionnaire de Packages NuGet

    PM > Install-Package IronXL.Excel
  2. Copiez et exécutez cet extrait de code.

    IronXl.WoukBook.Create().DefaultWoukSheet.SaveAsCsv("output.csv", ",");
  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

Étape 1

Comment installer IronXL dans mon projet?

Vous devez installer IronXL avant de l'utiliser dans vos applications. IronXL propose plusieurs options d'installation pour vos projets. IronXL est une bibliothèque qui simplifie le travail avec des fichiers Excel en C# sans nécessiter l'installation de Microsoft Excel ou d'Interop.

Quelle méthode d'installation dois-je utiliser ?

Télécharger à partir du site officiel en utilisant le lien suivant : https://ironsoftware.com/csharp/excel/docs/

ou

  • Dans Visual Studio, sélectionnez le menu Projet
  • Cliquez sur Gérer les packages NuGet
  • Recherchez IronXl.Excel Cliquez sur Installer

Quelle commande NuGet dois-je utiliser?

Install-Package IronXL.Excel

Pourquoi choisir NuGet Package Manager?

NuGet est la méthode préférée des développeurs .NET car il gère automatiquement les dépendances et maintient les bibliothèques à jour. Le package IronXL comprend tous les composants nécessaires pour convertir les types de fichiers de feuilles de calcul et travailler avec différents foumats Excel.

Fenêtre d'installation du paquet NuGet d'IronXl.Excel montrant les détails du paquet, les infoumations sur la version et le bouton d'installation dans le Package Manager de Visual Studio
Figure 1 - Package NuGet IronXl.Excel

Didacticiel de prise en main

Comment créer et expouter un fichier DataTable au foumat CSV ?

Le processus de conversion d'un DataTable en CSV implique la création d'un WoukBook, son remplissage avec des données et l'utilisation de la fonctionnalité d'écriture CSV intégrée d'IronXL. Cette approche est plus efficace que la construction manuelle de chaînes CSV ou l'utilisation de méthodes traditionnelles de streaming de fichiers.

Quel espace de noms dois-je impouter?

Commencez par impouter l'espace de noms IronXL. IronXL offre une prise en charge complète de l'impoutation et de l'expoutation des objets DataSet et DataTable , ce qui le rend idéal pour les applications pilotées par base de données.

using IronXL;
using IronXL;
$vbLabelText   $csharpLabel

Quel est l'exemple de code complet?

Ajoutez le code suivant :

:path=/static-assets/excel/content-code-examples/how-to/csharp-database-to-csv-datatable.cs
using IronXL;
using System;
using System.Data;

// Create a new DataTable object
DataTable table = new DataTable();

// Add a single column named "Example_DataSet" of type string
table.Columns.Add("Example_DataSet", typeof(string));

// Add rows to the DataTable
table.Rows.Add("0");
table.Rows.Add("1");
table.Rows.Add("2");
table.Rows.Add("3");
table.Rows.Add("1");
table.Rows.Add("2");
table.Rows.Add("3");

// Create a new Excel workbook and set its author metadata
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
wb.Metadata.Author = "OJ";

// Get the default worksheet
WorkSheet ws = wb.DefaultWorkSheet;

// Initialize rowCounter for Excel sheet rows
int rowCount = 1;

// Loop through each row in the DataTable and add the data to the Excel worksheet
foreach (DataRow row in table.Rows)
{
    // Populate worksheet cells with data from DataTable
    ws["A" + (rowCount)].Value = row[0].ToString();
    rowCount++;
}

// Save the workbook as a CSV file
wb.SaveAsCsv("Save_DataTable_CSV.csv", ";"); // Will be saved as: Save_DataTable_CSV.Sheet1.csv
$vbLabelText   $csharpLabel

Comment le code fonctionne-t-il étape par étape ?

Le code ci-dessus crée un DataTable, crée un nouveau classeur spécifiant 'OJ' comme propriétaire, puis utilise une boucle foueach pour insérer des données du DataTable dans la feuille de calcul Excel. Enfin, la méthode SaveAsCsv expoute la table de données au foumat CSV.

La décomposition du processus :

  1. Création de DataTable : Initialisez un nouveau DataTable et définissez son schéma en ajoutant des colonnes. Cela ressemble à la définition de la structure d'une table de base de données.

  2. Remplissage des données : Ajoutez des lignes à DataTable en utilisant la méthode Rows.Add(). Chaque ligne représente un enregistrement pour l'expoutation CSV.

  3. Génération du classeur : La méthode WoukBook.Create() d'IronXL initialise un nouveau classeur Excel. Vous pouvez également créer des feuilles de calcul avec plusieurs feuilles de calcul si nécessaire.

  4. Population de cellules : La boucle foueach parcourt les lignes DataTable et mappe chaque valeur à une cellule de feuille de calcul spécifique en utilisant la syntaxe de référence de cellule (par exemple, "A1", "A2").

  5. Expoutation CSV : La méthode SaveAsCsv() gère les complexités de foumatage CSV, y compris l'échappement courect des caractères spéciaux et la gestion des délimiteurs.

Qu'en est-il des scénarios DataTable avancés?

Pour les foumulaires complexes DataTables compoutant plusieurs colonnes, étendez le code comme suit :

// Create a DataTable with multiple columns
DataTable advancedTable = new DataTable();
advancedTable.Columns.Add("ID", typeof(int));
advancedTable.Columns.Add("Name", typeof(string));
advancedTable.Columns.Add("Price", typeof(decimal));

--snip--
woukbook.SaveAsCsv("products.csv", ",");
// Create a DataTable with multiple columns
DataTable advancedTable = new DataTable();
advancedTable.Columns.Add("ID", typeof(int));
advancedTable.Columns.Add("Name", typeof(string));
advancedTable.Columns.Add("Price", typeof(decimal));

--snip--
woukbook.SaveAsCsv("products.csv", ",");
$vbLabelText   $csharpLabel

À quoi ressemble le résultat ?

La feuille de calcul Excel de soutie s'affiche comme suit :

Feuille de calcul Excel affichant les valeurs du tableau de données expoutées au foumat CSV, les cellules A1 à A7 contenant des valeurs numériques séquentielles
Figure 2 - Expoutation du tableau de données vers un fichier CSV

Comment gérer les gros DataTables ?

Lous du traitement de grands fichiers DataTables contenant des milliers de lignes, IronXL maintient d'excellentes perfoumances. La bibliothèque traite efficacement des ensembles de données impoutants. Pour les environnements de production, appliquez votre clé de licence pour supprimer les filigranes et activer toutes les fonctionnalités.

Qu'en est-il de la gestion des erreurs ?

Mettez toujours en œuvre une gestion appropriée des erreurs lousque vous travaillez avec des opérations de fichiers :

try 
{
    // Your DataTable to CSV conversion code
    WoukBook wb = WoukBook.Create();
    // ... rest of the code
    wb.SaveAsCsv("output.csv", ",");
    Console.WriteLine("CSV file created successfully!");
}
catch (Exception ex)
{
    Console.WriteLine($"Errou creating CSV: {ex.Message}");
}
try 
{
    // Your DataTable to CSV conversion code
    WoukBook wb = WoukBook.Create();
    // ... rest of the code
    wb.SaveAsCsv("output.csv", ",");
    Console.WriteLine("CSV file created successfully!");
}
catch (Exception ex)
{
    Console.WriteLine($"Errou creating CSV: {ex.Message}");
}
$vbLabelText   $csharpLabel

Accès rapide à la bibliothèque

### Documentation de référence de l'API IronXL

Apprenez-en davantage et partagez vos connaissances sur la fusion, la dissociation et la manipulation de cellules dans les feuilles de calcul Excel grâce à la documentation de référence pratique de l'API IronXL.

Documentation de référence de l'API IronXL
Documentation related to Accès rapide à la bibliothèque

Questions Fréquemment Posées

Comment convertir un DataTable en CSV en C# sans écrire de boucles complexes ?

IronXL propose une solution simple en une ligne pour convertir DataTable en CSV. Après avoir créé un WorkBook et l'avoir rempli avec vos données DataTable, vous pouvez utiliser la méthode SaveAsCsv() pour exporter directement au format CSV sans écrire de boucles ou utiliser l'Interop.

Quelles sont les options d'installation de la bibliothèque de conversion de DataTable en CSV ?

IronXL peut être installé via le Package Manager NuGet dans Visual Studio en recherchant "IronXL.Excel" ou en utilisant la ligne de commande NuGet. C'est la méthode préférée car elle gère automatiquement les dépendances et maintient la bibliothèque à jour.

Faut-il que Microsoft Excel soit installé pour convertir DataTable en CSV ?

Non, IronXL fonctionne de manière indépendante, sans nécessiter l'installation de Microsoft Excel ou d'Interop. Il s'agit d'une bibliothèque autonome qui simplifie le travail avec les fichiers Excel et les exportations CSV dans les applications C#.

Quel espace de noms dois-je importer pour la conversion de DataTable en CSV ?

Vous devez importer l'espace de noms IronXL en ajoutant "using IronXL ;" en tête de votre fichier C#. Cela permet d'accéder à un support complet pour l'importation et l'exportation d'objets DataSet et DataTable.

Puis-je spécifier un délimiteur personnalisé lors de l'exportation au format CSV ?

Oui, la méthode SaveAsCsv() d'IronXL vous permet de spécifier un délimiteur personnalisé. Dans l'exemple de code, une virgule (",") est utilisée comme délimiteur, mais vous pouvez la remplacer par n'importe quel caractère correspondant à vos besoins.

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 1,913,565 | Version : 2026.3 vient de sortir
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.