Passer au contenu du pied de page
UTILISATION D'IRONXL

Comment exporter `DataTable` au format CSV en C#

IronXL permet une conversion transparente DataTable vers le format CSV en C# sans nécessiter l'installation de Microsoft Excel. Cette bibliothèque .NET autonome fournit une API simple permettant de convertir automatiquement DataTables en fichiers CSV avec des structures et des délimiteurs personnalisés, simplifiant ainsi l'exportation de données pour les développeurs.

IronXL est une bibliothèque populaire qui permet aux développeurs d'interagir avec des documents Microsoft Excel dans les technologies C# .NET, y compris les fichiers CSV, sans avoir besoin d'installer Microsoft Excel. Il permet la conversion automatique des types enregistrés en fichiers CSV et l'écriture de fichiers CSV avec des structures personnalisées.

Quelles sont les fonctionnalités offertes par la bibliothèque IronXL ?

Les documents Microsoft Excel peuvent être lus et convertis en fichiers CSV à l'aide de la bibliothèque C# IronXL .NET. IronXL est une bibliothèque logicielle .NET autonome capable de lire divers formats de feuilles de calcul . Il ne dépend pas de Microsoft.Office.Interop.Excel et ne nécessite pas l'installation de Microsoft Excel.

Grâce à l' API C# conviviale d'IronXL, vous pouvez rapidement lire, modifier et créer des fichiers de feuilles de calcul Excel dans l'environnement .NET. .NET Core, .NET Framework, Xamarin, Mobile, Linux , macOS et Azure sont tous entièrement pris en charge par IronXL.

  • Parmi les principales bibliothèques de feuilles de calcul Excel pour C# utilisant .NET Core et .NET Framework, on trouve IronXL.
  • Pratiquement tous les frameworks .NET sont pris en charge, y compris les applications console, Windows Forms et Web.
  • IronXL fonctionne sous les systèmes d'exploitation Windows, Linux et macOS.
  • IronXL simplifie et accélère la lecture des fichiers Excel.
  • IronXL prend en charge plusieurs formats Excel : fichiers XLSX, XLS, CSV, TSV, XLST et XLSM.
  • IronXL exporte les fichiers vers différents formats, notamment XLS, CSV, TSV, JSON et XML.
  • IronXL génère des calculs Excel et prend en charge les formules.
  • IronXL prend en charge les formats de données de colonnes Excel, notamment le texte, les nombres, les dates, les devises et les pourcentages.

Pour plus de détails, consultez la présentation de la documentation IronXL .

Comment créer un nouveau projet dans Visual Studio ?

Dans Visual Studio, un projet .NET doit être créé avant de pouvoir utiliser le framework IronXL. Toute version de Visual Studio fonctionnera, mais la plus récente est conseillée. Selon vos besoins, vous pouvez créer une application Windows Forms ou utiliser différents modèles de projet. Pour simplifier les choses, ce tutoriel utilisera l'application console.

! La boîte de dialogue Créer un nouveau projet de Visual Studio affiche différents modèles de projets .NET, notamment les options Application console, Application Web ASP.NET Core et Application serveur Blazor. Créer un nouveau projet dans Visual Studio

Ensuite, saisissez le nom et l'emplacement du projet.

! Boîte de dialogue de configuration de projet Visual Studio affichant la configuration d'une nouvelle application console C# nommée " ConsoleApp1 ", ciblant Windows avec sortie console. Configurer le nouveau projet

Ensuite, sélectionnez la structure suivante. .NET Core 6 sera utilisé dans ce projet.

! Boîte de dialogue de création de projet Visual Studio affichant la configuration de l'application console avec .NET 6.0 (prise en charge à long terme) sélectionné comme framework. Sélectionnez une version du .NET Framework

Le fichier program.cs s'ouvrira une fois la solution générée par l'application, vous permettant ainsi de saisir le code du programme et de compiler/exécuter l'application.

! Fenêtre d'application console C# vide dans Visual Studio affichant le projet IronXLConsole avec la structure de code initiale prête pour l'implémentation de la fonctionnalité d'exportation CSV. Le projet d'application console nouvellement créé

La bibliothèque peut alors être ajoutée et utilisée pour évaluer le code. Pour d'autres types de projets comme les applications .NET MAUI ou les projets VB.NET , le processus est similaire mais avec des considérations spécifiques au framework.

Comment installer la bibliothèque IronXL?

Il existe quatre méthodes pour télécharger et installer la bibliothèque IronXL.

Lesquelles sont :

  • Installation via Visual Studio
  • Installation à l'aide de la console du gestionnaire de packages Visual Studio
  • En téléchargeant directement depuis le site NuGet
  • Téléchargement direct depuis le site web d'IronXL

Quelle méthode dois-je utiliser pour installer Visual Studio ?

Le module IronXL peut être installé à l'aide du gestionnaire de packages NuGet. Pour trouver IronXL, vous devez d'abord lancer le gestionnaire de packages NuGet, puis consulter le volet de navigation. Installez IronXL en le sélectionnant dans les résultats de recherche. Après cela, la bibliothèque IronXL pourra utiliser cette application.

L'image ci-dessous montre comment lancer le gestionnaire de packages NuGet de Visual Studio.

! Le menu Outils de Visual Studio s'est développé, affichant l'option Gestionnaire de packages NuGet et la console du gestionnaire de packages mise en évidence dans le menu déroulant Outils. Accéder au gestionnaire de package NuGet

! Interface du gestionnaire de packages NuGet affichant le package IronXL.Excel version 2022.3.0, avec 133 000 téléchargements et le bouton Installer pour une intégration facile. Installer le package IronXL via l'interface utilisateur du gestionnaire de packages NuGet

Quand dois-je utiliser la console du gestionnaire de packages ?

De nombreux développeurs préfèrent utiliser une console pour effectuer leurs tâches. L'installation d'un terminal est donc également une option. Pour installer IronXL en utilisant la ligne de commande, suivez les instructions ci-dessous.

  • Dans Visual Studio, accédez à Outils > Gestionnaire de packages NuGet > Interface du Gestionnaire de packages.
  • Saisissez la commande suivante dans l'onglet console du gestionnaire de paquets :

    Install-Package IronXL.Excel
  • Attendez que IronXL soit téléchargé et installé dans le projet actif.

! Console du gestionnaire de packages dans Visual Studio affichant la commande " Install-Package IronXL.Excel " avec des messages de confirmation d'installation réussie. Installez le paquet IronXL dans l'interface utilisateur de la console du gestionnaire de paquets.

Pourquoi téléchargerais-je des fichiers depuis le site web de NuGet ?

Le package NuGet peut également être téléchargé directement depuis le site web, ce qui constitue une troisième option. Cette méthode est particulièrement utile lorsque l'accès à Internet est limité ou lorsque vous devez gérer les paquets manuellement.

  • Accédez au lien NuGet officiel .
  • L'option de téléchargement du package se trouve dans le menu de droite.
  • Cliquez deux fois sur le fichier enregistré. Il sera installé immédiatement. Rechargez ensuite la solution et commencez à l'utiliser dans le projet.

Comment installer directement depuis le site web d'IronXL ?

Pour télécharger le package le plus récent directement depuis le site web, cliquez sur ce lien pour télécharger un fichier ZIP IronXL . Ce lien permettra de télécharger un fichier ZIP contenant la dernière version de la bibliothèque DLL IronXL. Une fois le téléchargement terminé, extrayez le contenu du fichier ZIP dans le répertoire de votre choix.

Pour ajouter le fichier au projet après l'avoir téléchargé, suivez les étapes ci-dessous.

  • Dans la fenêtre de solution, cliquez avec le bouton droit sur le projet.
  • Sélectionnez Références, puis accédez au dossier extrait contenant les DLL IronXL.
  • Sélectionnez la DLL, puis cliquez sur OK pour l'ajouter au projet actif en tant que référence.

Pour les scénarios de déploiement, vous pouvez également configurer IronXL dans des conteneurs Docker ou le déployer sur des plateformes cloud comme AWS Lambda et Azure Functions .

Comment exporter un DataTable au format CSV ?

DataTables peuvent être exportées facilement et rapidement vers des fichiers CSV grâce à IronXL. Il permet d'écrire des données dans de nouveaux fichiers CSV avec prise en charge des délimiteurs personnalisés et des options d'encodage.

Tout d'abord, comme le montre l'image de code ci-dessous, l'espace de noms IronXL doit être inclus pour utiliser les classes et méthodes IronXL.

! Éditeur de code C# affichant les déclarations d'espace de noms " using IronXL; " et " using System.Data; " avec coloration syntaxique pour l'implémentation d'exportation DataTable vers CSV. Ajouter des espaces de noms communs

Les fichiers Excel peuvent être créés à l'aide d'IronXL, qui les transforme ensuite en objets WorkBook . Effectuez ensuite diverses opérations sur ces objets. L'exemple de code ci-dessous permettra de créer un fichier Excel en convertissant un DataTable en une feuille de calcul Excel.

using IronXL;
using System.Data;

// Entry point of the application
static void Main(string[] args)
{
    // Specify the file path for the CSV file output
    ExportToExcel("H:\\test.csv");
}

// Exports the DataTable to an Excel file and saves it as CSV
public static void ExportToExcel(string filepath)
{
    // Create a DataTable and add columns and rows
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Fruits", typeof(string));
    table.Rows.Add("Apple");
    table.Rows.Add("Orange");
    table.Rows.Add("Strawberry");
    table.Rows.Add("Grapes");
    table.Rows.Add("Watermelon");
    table.Rows.Add("Bananas");
    table.Rows.Add("Lemons");

    // Create a new WorkBook and add the DataTable data to it
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        // Write each item from the DataTable into the worksheet starting from cell A1
        writer["A" + (rowCount)].Value = row[0].ToString();
        rowCount++;
    }
    // Save the workbook as a CSV file with a specified delimiter
    wb.SaveAsCsv(filepath, ";");
}
using IronXL;
using System.Data;

// Entry point of the application
static void Main(string[] args)
{
    // Specify the file path for the CSV file output
    ExportToExcel("H:\\test.csv");
}

// Exports the DataTable to an Excel file and saves it as CSV
public static void ExportToExcel(string filepath)
{
    // Create a DataTable and add columns and rows
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Fruits", typeof(string));
    table.Rows.Add("Apple");
    table.Rows.Add("Orange");
    table.Rows.Add("Strawberry");
    table.Rows.Add("Grapes");
    table.Rows.Add("Watermelon");
    table.Rows.Add("Bananas");
    table.Rows.Add("Lemons");

    // Create a new WorkBook and add the DataTable data to it
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        // Write each item from the DataTable into the worksheet starting from cell A1
        writer["A" + (rowCount)].Value = row[0].ToString();
        rowCount++;
    }
    // Save the workbook as a CSV file with a specified delimiter
    wb.SaveAsCsv(filepath, ";");
}
$vbLabelText   $csharpLabel

Le code ci-dessus exporte le DataTable vers un fichier Excel. Les en-têtes de colonnes sont créés une fois le DataTable généré. Ensuite, ajoutez les lignes une à une après avoir établi la première colonne. L'objet WorkBook est créé après l'ajout des colonnes et des lignes à l'objet DataTable pour contenir ces données. L'objet WorkSheet est ensuite construit, puis ajouté à l'objet WorkBook .

Chaque valeur de la DataTable est lue et ajoutée à l'aide d'une boucle foreach avant d'être ajoutée à la WorkSheet . Une fois toutes les valeurs saisies dans la feuille de calcul, la méthode SaveAsCsv les enregistre dans un fichier CSV. Vous pouvez spécifier le délimiteur et l'emplacement du fichier en tant que paramètres.

Pour des scénarios plus complexes, vous pouvez exporter plusieurs DataTables sous forme de feuilles de calcul différentes ou utiliser des DataSets pour une organisation des données plus structurée.

Utilisation de différents formats CSV

IronXL offre une grande flexibilité lors du traitement des fichiers CSV. Voici un exemple montrant comment exporter un DataTable avec une mise en forme et un encodage personnalisés :

// Export with custom delimiter and encoding
public static void ExportToCSVWithOptions(DataTable dataTable, string filepath)
{
    // Create workbook from DataTable
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
    WorkSheet ws = wb.CreateWorkSheet("DataExport");

    // Add headers
    for (int i = 0; i < dataTable.Columns.Count; i++)
    {
        ws[$"{(char)('A' + i)}1"].Value = dataTable.Columns[i].ColumnName;
    }

    // Add data rows
    for (int row = 0; row < dataTable.Rows.Count; row++)
    {
        for (int col = 0; col < dataTable.Columns.Count; col++)
        {
            ws[$"{(char)('A' + col)}{row + 2}"].Value = dataTable.Rows[row][col];
        }
    }

    // Save with custom delimiter (comma) and UTF-8 encoding
    wb.SaveAsCsv(filepath, ",", System.Text.Encoding.UTF8);
}
// Export with custom delimiter and encoding
public static void ExportToCSVWithOptions(DataTable dataTable, string filepath)
{
    // Create workbook from DataTable
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
    WorkSheet ws = wb.CreateWorkSheet("DataExport");

    // Add headers
    for (int i = 0; i < dataTable.Columns.Count; i++)
    {
        ws[$"{(char)('A' + i)}1"].Value = dataTable.Columns[i].ColumnName;
    }

    // Add data rows
    for (int row = 0; row < dataTable.Rows.Count; row++)
    {
        for (int col = 0; col < dataTable.Columns.Count; col++)
        {
            ws[$"{(char)('A' + col)}{row + 2}"].Value = dataTable.Rows[row][col];
        }
    }

    // Save with custom delimiter (comma) and UTF-8 encoding
    wb.SaveAsCsv(filepath, ",", System.Text.Encoding.UTF8);
}
$vbLabelText   $csharpLabel

Cette approche vous offre un meilleur contrôle sur le processus d'exportation, vous permettant de définir les formats de données des cellules et de personnaliser la structure de sortie.

! Feuille de calcul Excel affichant une liste de fruits (Pomme, Orange, Fraise, Raisin, Pastèque, Banane, Citron) dans la colonne A avec un formatage CSV correct et sans délimiteurs supplémentaires. Le fichier CSV de sortie

Le résultat de l'exécution de l'exemple de code est affiché ci-dessus. Sur la capture d'écran, chaque donnée du tableau a été ajoutée individuellement à la nouvelle feuille Excel. Vous pouvez également appliquer une mise en forme aux cellules avant l'exportation ou ajouter des formules pour les valeurs calculées.

Pour des opérations CSV plus avancées, vous pouvez :

Pour en savoir plus sur le tutoriel IronXL, cliquez sur ce guide d'exportation vers les formats Excel .

Pourquoi utiliser IronXL pour l'exportation CSV ?

IronXL est l'un des outils Excel les plus populaires. Elle ne dépend d'aucune autre bibliothèque provenant de sources externes. Il est autonome et ne nécessite pas l'installation de Microsoft Excel. Elle opère sur de nombreux canaux.

IronXL fournit une solution tout-en-un permettant d'implémenter par programmation toutes les tâches liées aux documents Microsoft Excel. Vous pouvez effectuer des calculs de formules , trier des chaînes de caractères ou des nombres , supprimer et ajouter des éléments , rechercher et remplacer, fusionner et dissocier des éléments, enregistrer des fichiers, etc. Vous pouvez également définir les formats de données des cellules et valider les données de la feuille de calcul. Il prend également en charge la lecture et l'écriture de fichiers CSV et vous permet de travailler comme avec des données Excel.

Les avantages supplémentaires comprennent :

Le prix de départ d'IronXL au lancement est $799 . Elle offre également aux utilisateurs la possibilité de payer un abonnement annuel pour bénéficier d'une assistance et de mises à jour du produit. Moyennant un supplément, IronXL offre une sécurité pour une redistribution sans restriction. Pour obtenir des informations tarifaires plus précises, veuillez consulter cette page relative aux licences .

Questions Fréquemment Posées

Comment puis-je exporter un DataTable vers un fichier CSV en C# ?

Vous pouvez utiliser IronXL pour exporter un DataTable vers un fichier CSV en créant un WorkBook et en exportant les données dans des objets de feuille de calcul. Cela permet une conversion et un export sans faille sans nécessiter Microsoft Excel.

Quels formats de fichiers puis-je exporter avec cette bibliothèque ?

IronXL permet d'exporter des données dans divers formats tels que XLS, CSV, TSV et JSON, offrant ainsi une flexibilité dans la gestion des différents besoins en données.

Est-il possible d'effectuer des opérations similaires à Excel avec cette bibliothèque ?

Oui, IronXL permet des opérations similaires à Excel telles que les calculs de formules, le tri des données et l'enregistrement des fichiers, ce qui en fait un outil complet pour les tâches de programmation liées à Excel.

Dois-je installer Microsoft Excel pour utiliser cette bibliothèque ?

Non, IronXL est une bibliothèque .NET autonome qui ne nécessite pas l'installation de Microsoft Excel, permettant aux développeurs de travailler avec des documents Excel directement dans leurs applications C#.

Quelles plateformes sont compatibles avec cette bibliothèque ?

IronXL est compatible avec plusieurs plateformes, y compris .NET Core, .NET Framework, Xamarin, ainsi que les systèmes d'exploitation comme Windows, Linux et macOS.

Comment puis-je installer la bibliothèque IronXL dans mon projet ?

IronXL peut être installé dans un projet .NET en utilisant Visual Studio en accédant au gestionnaire de packages NuGet ou en téléchargeant directement depuis les sites NuGet ou IronXL.

Quelles sont les options de tarification disponibles pour cette bibliothèque ?

IronXL offre un prix de départ avec des options d'abonnement d'un an qui incluent une assistance produit et des mises à jour, fournissant un support continu et un accès aux dernières fonctionnalités.

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite