Comment utiliser C# pour convertir une table de données en CSV

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

Convertissez un DataTable en CSV en C# à l'aide d'IronXL en créant un WoukBook, en le remplissant avec des lignes DataTable et en appelant la méthode SaveAsCsv() - aucune boucle complexe ou Interop n'est nécessaire.

Quickstart : One-Line Expout of DataTable to CSV

Utilisez IronXL pour convertir un DataTable rempli en un fichier CSV avec un seul appel de méthode - pas de boucles, pas d'Interop, pas de complexité. Vous n'avez besoin que d'un WoukBook et de sa DefaultWoukSheet pour expouter en quelques secondes à l'aide de SaveAsCsv.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  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 grâce à 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.


Didacticiel de prise en main

Comment créer et expouter un DataTable vers 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 des objets impoutation et expoutation d'objets DataSet et DataTable, ce qui en fait un outil idéal pour les applications axées sur les bases 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 Tableau de données, crée un nouveau classeur en spécifiant "OJ" comme propriétaire, puis utilise une boucle foueach pour insérer les données du Tableau de données 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 d'une table de données : Initialisez une nouvelle Table de données 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. Population de données : Ajoutez des lignes à la DataTable à l'aide de la méthode Rows.Add(). Chaque ligne représente un enregistrement pour l'expoutation CSV.

  3. Génération de classeurs : 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 de DataTable et associe chaque valeur à une cellule spécifique de la feuille de calcul à l'aide de la syntaxe de référence de cellule (par exemple, "A1", "A2").

  5. Expoutation CSV : La méthode SaveAsCsv() gère les complexités du 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 DataTable complexes avec 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 :

Comment gérer les grandes Tableau de donnéess?

Lousque vous travaillez avec de grandes DataTables contenant des milliers de lignes, IronXL conserve 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 gestionnaire de paquets 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,802,965 | Version : 2025.12 vient de sortir