How to Use C# to Convert Datatable to CSV
Convertissez un DataTable en CSV en C# en utilisant IronXL en créant un WorkBook, en le remplissant avec DataTable lignes, et en appelant la méthode SaveAsCsv() - pas de boucles complexes ou d'Interop requis.
Guide de démarrage rapide : Export d'une ligne de DataTable vers 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 avez seulement besoin d'un WorkBook et de son DefaultWorkSheet pour exporter en quelques secondes en utilisant SaveAsCsv.
-
Installez IronXL avec le Gestionnaire de Packages NuGet
-
Copiez et exécutez cet extrait de code.
IronXL.WorkBook.Create().DefaultWorkSheet.SaveAsCsv("output.csv", ","); -
Déployez pour tester sur votre environnement de production.
Commencez à utiliser IronXL dans votre projet dès aujourd'hui avec un essai gratuit
Flux de travail minimal (5 étapes)
- Téléchargez et installez la bibliothèque C# de conversion de DataTable en CSV
- Utilisez la classe
DataTablepour stocker les nouvelles données. - Créer une nouvelle feuille de calcul ou importer une feuille de calcul existante
- Parcourez les lignes du tableau et remplissez les cellules de la feuille de calcul en conséquence.
- Exporter vers un fichier CSV avec la fonction C#
SaveAsCsv
É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/
or
- Dans Visual Studio, sélectionnez le menu Projet
- Cliquez sur Gérer les packages NuGet
- Recherchez
IronXL.ExcelCliquez 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 paquet IronXL inclut tous les composants nécessaires pour convertir les types de fichiers de feuille de calcul et travailler avec divers formats Excel.
Didacticiel de prise en main
Comment Créer et Exporter un DataTable vers CSV ?
Le processus de conversion d'un DataTable en CSV implique de créer un WorkBook, de le remplir avec des données, et d'utiliser la fonctionnalité interne d'écriture de CSV de 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 importer?
Tout d'abord, importez l'espace de noms IronXL. IronXL fournit un support complet pour l'importation et l'exportation d'objets DataSet et DataTable, ce qui le rend idéal pour les applications basées sur les bases de données.
:path=/static-assets/excel/content-code-examples/how-to/csharp-datatable-to-csv-3.cs
using IronXL;
Imports IronXL
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
Imports IronXL
Imports System
Imports System.Data
' Create a new DataTable object
Dim table As New DataTable()
' Add a single column named "Example_DataSet" of type string
table.Columns.Add("Example_DataSet", GetType(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
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
wb.Metadata.Author = "OJ"
' Get the default worksheet
Dim ws As WorkSheet = wb.DefaultWorkSheet
' Initialize rowCounter for Excel sheet rows
Dim rowCount As Integer = 1
' Loop through each row in the DataTable and add the data to the Excel worksheet
For Each row As DataRow In table.Rows
' Populate worksheet cells with data from DataTable
ws("A" & rowCount).Value = row(0).ToString()
rowCount += 1
Next
' Save the workbook as a CSV file
wb.SaveAsCsv("Save_DataTable_CSV.csv", ";") ' Will be saved as: Save_DataTable_CSV.Sheet1.csv
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 foreach pour insérer des données du DataTable dans la feuille de calcul Excel. Enfin, la méthode SaveAsCsv exporte la datatable en CSV.
La décomposition du processus :
-
Création de DataTable : Initialisez un nouveau
DataTableet 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. -
Population de données : Ajoutez des lignes au
DataTableen utilisant la méthodeRows.Add(). Chaque ligne représente un enregistrement pour l'exportation CSV. -
Génération de Workbook : La méthode
WorkBook.Create()de IronXL initialise un nouveau classeur Excel. Vous pouvez également créer des feuilles de calcul avec plusieurs feuilles de calcul si nécessaire. -
Population des cellules : La boucle foreach itère à travers les lignes
DataTableet 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"). - Export CSV : La méthode
SaveAsCsv()gère les complexités du formatage CSV, y compris l'échappement correct des caractères spéciaux et la gestion des délimiteurs.
Qu'en est-il des scénarios DataTable avancés?
Pour des 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--
workbook.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--
workbook.SaveAsCsv("products.csv", ",");
' Create a DataTable with multiple columns
Dim advancedTable As New DataTable()
advancedTable.Columns.Add("ID", GetType(Integer))
advancedTable.Columns.Add("Name", GetType(String))
advancedTable.Columns.Add("Price", GetType(Decimal))
' --snip--
workbook.SaveAsCsv("products.csv", ",")
À quoi ressemble le résultat ?
La feuille de calcul Excel de sortie s'affiche comme suit :
Comment Gérer De Grands DataTable ?
Lorsque vous travaillez avec de grands DataTable contenant des milliers de lignes, IronXL maintient d'excellentes performances. La bibliothèque traite efficacement des ensembles de données importants. 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 lorsque vous travaillez avec des opérations de fichiers :
:path=/static-assets/excel/content-code-examples/how-to/csharp-datatable-to-csv-6.cs
try
{
// Your DataTable to CSV conversion code
WorkBook wb = WorkBook.Create();
// ... rest of the code
wb.SaveAsCsv("output.csv", ",");
Console.WriteLine("CSV file created successfully!");
}
catch (Exception ex)
{
Console.WriteLine($"Error creating CSV: {ex.Message}");
}
Imports System
Try
' Your DataTable to CSV conversion code
Dim wb As WorkBook = WorkBook.Create()
' ... rest of the code
wb.SaveAsCsv("output.csv", ",")
Console.WriteLine("CSV file created successfully!")
Catch ex As Exception
Console.WriteLine($"Error creating CSV: {ex.Message}")
End Try
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 IronXLQuestions 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.

