Passer au contenu du pied de page
UTILISATION D'IRONXL

C# Méthode la plus rapide pour exporter DataTable vers Excel

Lorsqu'il s'agit de travailler avec des tableurs, l'application Microsoft Excel est un outil populaire conçu pour gérer de grands ensembles de données sous forme de tableau. Il offre des fonctionnalités puissantes telles que des calculs complexes, la visualisation des données à travers des graphiques et des diagrammes, des tableaux croisés dynamiques et la prise en charge de l'automatisation via Visual Basic pour Applications (VBA). Ses outils performants d'analyse et de visualisation des données ont fait d'Excel un choix de premier plan dans divers secteurs d'activité. Avec Excel, vous pouvez facilement créer, modifier, visualiser et partager des fichiers, ce qui simplifie vos tâches de gestion des données.

En C#, l'objet DataTable de la bibliothèque ADO.NET représente des données tabulaires au sein d'un programme, un peu comme une feuille de calcul Excel. Il organise les données en lignes et en colonnes, ce qui facilite leur manipulation et leur exportation. Tout comme Excel, DataTable prend en charge les options de filtrage, de tri et de mise en forme, ce qui en fait un outil incontournable pour la gestion des plages de données en C#. Cependant, DataTable est créé lors de l'exécution et ses données sont perdues lorsque l'application est fermée, à moins d'être exportées vers un format plus permanent, tel qu'un fichier Excel ou un fichier CSV.

Aujourd'hui, nous allons explorer comment créer un DataTable en C# et exporter ses données vers un document Excel à l'aide d'IronXL, une puissante bibliothèque Excel .NET.

IronXL : une bibliothèque Excel .NET

IronXL est une bibliothèque C# .NET qui simplifie le processus de création de fichiers Excel. Avec IronXL, vous pouvez créer de nouvelles feuilles de calcul, modifier celles existantes, travailler avec des formules Excel, styliser les cellules de votre feuille de calcul, et bien plus encore. Grâce à sa large gamme de fonctionnalités, IronXL simplifie considérablement la manipulation de fichiers Excel par programmation. Surtout, il fonctionne sans Microsoft Office Interop, ce qui signifie qu'il n'est pas nécessaire d'installer Microsoft Office ni aucune autre dépendance particulière.

Avec IronXL, vous pouvez enregistrer ou exporter des données dans différents formats tels que XLS et XLSX, CSV et TSV, JSON, XML et HTML, binaire et tableau d'octets. Il offre également de solides fonctionnalités de sécurité pour les classeurs, telles que l'ajout d'autorisations et de mots de passe, et vous permet de modifier les métadonnées du classeur.

Étapes pour exporter des données de DataTable vers un fichier Excel

Prérequis

Pour utiliser IronXL afin d'exporter des données de DataTable vers un fichier Excel en C#, les composants suivants doivent être installés sur un ordinateur local. Voyons-les une par une.

  1. Visual Studio - Visual Studio est l'IDE pour la programmation C# et doit être installé. Vous pouvez télécharger et installer la dernière version depuis le site Web de Visual Studio .

    • Une fois l'IDE configuré, il faut créer une application console/un formulaire Windows qui permettra d'exporter DataTable vers Excel. Les captures d'écran suivantes montrent comment créer un projet.

! Créez un projet

 Choisissez maintenant votre type de projet. Dans notre exemple, nous allons créer une application console. 

! Application console

 Nommez votre projet et choisissez l'emplacement où il sera enregistré.

Nom du projet

 Enfin, choisissez votre framework .NET et cliquez sur " Créer ".

! Framework .NET

 Après avoir cliqué sur " Créer " dans la dernière capture d'écran, le projet nommé **" DemoApp "** est créé.
  1. Bibliothèque IronXL - La bibliothèque IronXL doit être téléchargée et installée dans le projet Visual Studio. Il existe plusieurs façons de procéder.

    • Utilisation de Visual Studio : il fournit le gestionnaire de packages NuGet pour installer IronXL. Vous pouvez y accéder via le menu Outils ou l'Explorateur de solutions. Les captures d'écran suivantes vous aideront à installer IronXL. Tout d'abord, accédez à " Outils " dans la barre supérieure, ou cliquez avec le bouton droit dans votre explorateur de solutions.

! Explorateur de solutions

! Outils - Gestionnaire de packages NuGet

 Accédez à Gérer les packages NuGet pour la solution et recherchez IronXL. Il vous suffit ensuite d'appuyer sur " Installer " et la bibliothèque IronXL sera ajoutée à votre projet. 

Parcourez IronXL !

  • Invite de commandes développeur - Ouvrez l'invite de commandes développeur soit à partir du menu Outils de Visual Studio, soit à partir du dossier Visual Studio. Saisissez la commande suivante pour télécharger et installer IronXL dans votre projet :

     PM > Install-Package IronXL.Excel
     PM > Install-Package IronXL.Excel
    SHELL
  • Directement depuis le Gestionnaire de packages NuGet - Naviguez jusqu'à cette URL https://www.nuget.org/packages/ironxl.excel/ pour télécharger IronXL.
  1. Ajouter les espaces de noms nécessaires - Pour créer DataTable et utiliser IronXL, les deux doivent être référencés en haut du fichier Program.cs.

    using IronXL; // Add reference to the IronXL library
    using System.Data; // Add reference to System.Data for DataTable
    using IronXL; // Add reference to the IronXL library
    using System.Data; // Add reference to System.Data for DataTable
    Imports IronXL ' Add reference to the IronXL library
    Imports System.Data ' Add reference to System.Data for DataTable
    $vbLabelText   $csharpLabel

Une fois toutes les conditions préalables remplies, il est temps d'exporter les données de DataTable vers une feuille Excel.

Créer une DataTable en C

Le code suivant crée un nouveau tableau de données avec deux en-têtes de colonnes et plusieurs lignes :

// Create a new DataTable object
DataTable dt = new DataTable();
// Add column names to the DataTable
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
// Add rows representing different animals and their sounds
dt.Rows.Add("Lion", "Roars");
dt.Rows.Add("Dog", "Barks");
dt.Rows.Add("Cat", "Meows");
dt.Rows.Add("Goat", "Bleats");
dt.Rows.Add("Wolf", "Howls");
dt.Rows.Add("Cheetah", "Purrs");
// Create a new DataTable object
DataTable dt = new DataTable();
// Add column names to the DataTable
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
// Add rows representing different animals and their sounds
dt.Rows.Add("Lion", "Roars");
dt.Rows.Add("Dog", "Barks");
dt.Rows.Add("Cat", "Meows");
dt.Rows.Add("Goat", "Bleats");
dt.Rows.Add("Wolf", "Howls");
dt.Rows.Add("Cheetah", "Purrs");
' Create a new DataTable object
Dim dt As New DataTable()
' Add column names to the DataTable
dt.Columns.Add("Animal")
dt.Columns.Add("Sound")
' Add rows representing different animals and their sounds
dt.Rows.Add("Lion", "Roars")
dt.Rows.Add("Dog", "Barks")
dt.Rows.Add("Cat", "Meows")
dt.Rows.Add("Goat", "Bleats")
dt.Rows.Add("Wolf", "Howls")
dt.Rows.Add("Cheetah", "Purrs")
$vbLabelText   $csharpLabel

Tout d'abord, nous créons une nouvelle DataTable appelée " dt ". Ensuite, en utilisant Columns.Add , nous pouvons ajouter un nombre spécifié de colonnes à la table de données par leur nom ; Dans notre exemple, nous avons deux colonnes appelées " Animal " et " Son ". Nous utilisons ensuite Rows.Add pour ajouter de nouvelles lignes, en plaçant le contenu de chaque ligne entre crochets. Le contenu est séparé par des virgules, chaque chaîne de caractères étant placée dans une colonne.

Créer un fichier Excel à l'aide d'IronXL en C

La création de types de fichiers Excel à partir de zéro avec IronXL se fait en deux étapes et est très facile à implémenter en C#. IronXL crée d'abord un classeur Excel, puis permet d'y ajouter une feuille de calcul. L'exemple de code suivant montre comment créer un classeur ainsi qu'une feuille de calcul :

// Create a new workbook in XLSX format
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
// Reference to the default worksheet in the workbook
WorkSheet ws = wb.DefaultWorkSheet;
// Create a new workbook in XLSX format
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
// Reference to the default worksheet in the workbook
WorkSheet ws = wb.DefaultWorkSheet;
' Create a new workbook in XLSX format
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
' Reference to the default worksheet in the workbook
Dim ws As WorkSheet = wb.DefaultWorkSheet
$vbLabelText   $csharpLabel

Exportation de données d'une DataTable vers une feuille de calcul Excel à l'aide d'IronXL

L'utilisation d'IronXL pour ajouter des valeurs à une feuille de calcul simplifie l'ensemble du processus, car il est capable d'effectuer cette tâche avec un minimum de code. Nous allons ici apprendre à exporter les données de la DataTable créée dans la section précédente vers la feuille de calcul Excel nouvellement créée. Examinons le code étape par étape.

Ajouter un en-tête de colonne à la feuille de calcul Excel

// Assign DataTable column names to the first row of the Excel worksheet
ws["A1"].Value = dt.Columns[0].ToString();
ws["B1"].Value = dt.Columns[1].ToString();
// Start adding data from the second row
int rowCount = 2;
// Assign DataTable column names to the first row of the Excel worksheet
ws["A1"].Value = dt.Columns[0].ToString();
ws["B1"].Value = dt.Columns[1].ToString();
// Start adding data from the second row
int rowCount = 2;
' Assign DataTable column names to the first row of the Excel worksheet
ws("A1").Value = dt.Columns(0).ToString()
ws("B1").Value = dt.Columns(1).ToString()
' Start adding data from the second row
Dim rowCount As Integer = 2
$vbLabelText   $csharpLabel

Dans le code ci-dessus, la colonne " A1 " de la feuille Excel se voit attribuer la valeur de la colonne 1 de la DataTable à l'index 0 et la valeur de la colonne suivante " B1 " de la feuille Excel se voit attribuer la valeur de la colonne 2 à l'index 1 de la DataTable. La variable rowCount est définie sur la valeur 2 pour la lecture des lignes de la DataTable à partir de la ligne deux ; Cela permet de s'assurer que la ligne d'en-tête n'est pas prise en compte.

Ajouter des lignes à la feuille de calcul Excel

Le code suivant lira chaque ligne de la DataTable et l'affectera à une nouvelle ligne du fichier Excel :

// Iterate through each row in the DataTable and add to Excel worksheet
foreach (DataRow row in dt.Rows)
{
    ws["A" + (rowCount)].Value = row[0].ToString();
    ws["B" + (rowCount)].Value = row[1].ToString();
    rowCount++;
}
// Iterate through each row in the DataTable and add to Excel worksheet
foreach (DataRow row in dt.Rows)
{
    ws["A" + (rowCount)].Value = row[0].ToString();
    ws["B" + (rowCount)].Value = row[1].ToString();
    rowCount++;
}
' Iterate through each row in the DataTable and add to Excel worksheet
For Each row As DataRow In dt.Rows
	ws("A" & (rowCount)).Value = row(0).ToString()
	ws("B" & (rowCount)).Value = row(1).ToString()
	rowCount += 1
Next row
$vbLabelText   $csharpLabel

La variable rowCount est incrémentée à chaque fois afin qu'une nouvelle ligne soit lue de la DataTable dans les cellules de la feuille de calcul Excel dans le code ci-dessus.

Enregistrer le fichier Excel

Enfin, enregistrez le fichier Excel à l'aide de la méthode SaveAs() .

// Save the workbook to a file
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");
// Save the workbook to a file
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");
' Save the workbook to a file
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx")
$vbLabelText   $csharpLabel

Le fichier peut également être enregistré dans d'autres formats, par exemple CSV (Comma Separated Values), JSON, XML.

// Save the workbook in different file formats
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");
// Save the workbook in different file formats
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");
' Save the workbook in different file formats
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv")
wb.SaveAsJson("DataTable_to_Excel_IronXL.json")
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml")
$vbLabelText   $csharpLabel

Vous pouvez également l'enregistrer avec un délimiteur personnalisé.

Sortie

Le résultat final du fichier ressemble à ceci :

! Sortie DataTable vers Excel

Résumé

Dans cet article, nous avons démontré comment créer une DataTable avec des colonnes et des lignes en C#, puis comment générer un classeur Excel avec une feuille de calcul par défaut à l'aide d'IronXL. Nous avons ensuite exporté avec succès les données tabulaires de DataTable vers un fichier Excel et les avons enregistrées au format .xlsx.

IronXL est une bibliothèque C# conviviale qui permet aux développeurs de travailler facilement avec des fichiers Excel, même sans avoir installé MS Excel. Il permet d'exporter des données à partir de différents formats, tels que les fichiers CSV, pour une manipulation et un calcul ultérieurs.

Pour en savoir plus sur IronXL et ses nombreuses fonctionnalités, n'hésitez pas à consulter sa documentation complète. Envie de l'essayer vous-même ? IronXL propose également un essai gratuit avec un accès complet à toutes les fonctionnalités, vous permettant ainsi de découvrir immédiatement comment cette puissante bibliothèque peut améliorer vos projets de tableur !

Questions Fréquemment Posées

Comment puis-je exporter rapidement un DataTable vers Excel en utilisant C# ?

Vous pouvez utiliser la bibliothèque IronXL .NET Excel pour exporter efficacement un DataTable vers Excel. Cette bibliothèque vous permet de créer et de manipuler des fichiers Excel sans avoir besoin de Microsoft Office Interop.

Quels outils sont nécessaires pour exporter un DataTable vers Excel en C# ?

Pour exporter un DataTable vers Excel en utilisant IronXL, vous devez avoir Visual Studio installé et la bibliothèque IronXL ajoutée à votre projet via le NuGet Package Manager.

Comment créer un DataTable dans une application C# ?

En C#, vous créez un DataTable en instanciant un nouvel objet DataTable. Vous pouvez ensuite ajouter des colonnes en utilisant Columns.Add et le remplir avec des lignes en utilisant Rows.Add.

Quelle est la méthode pour exporter les données d'un DataTable dans un fichier Excel ?

Pour exporter les données d'un DataTable vers un fichier Excel, parcourez chaque ligne du DataTable et assignez les valeurs aux cellules Excel correspondantes en utilisant les fonctionnalités d'IronXL.

Puis-je enregistrer un fichier Excel dans différents formats en utilisant une bibliothèque .NET ?

Oui, avec IronXL, vous pouvez enregistrer des fichiers Excel dans divers formats, y compris XLSX, CSV, JSON, et XML, et même spécifier des délimiteurs personnalisés.

Ai-je besoin de Microsoft Office pour gérer des fichiers Excel avec une bibliothèque C# ?

Non, vous n'avez pas besoin que Microsoft Office soit installé. IronXL vous permet de gérer des fichiers Excel de manière programmée sans dépendre de Microsoft Office Interop.

Quels sont les avantages d'utiliser une bibliothèque .NET Excel ?

IronXL offre de nombreux avantages tels que la création et la modification de fichiers Excel, l'application de formules, le style des cellules et l'exportation de données dans plusieurs formats. Il prend également en charge des fonctionnalités de sécurité comme la protection par mot de passe.

Quelles sont les étapes impliquées pour enregistrer un classeur Excel de manière programmatique ?

Pour enregistrer un classeur Excel en utilisant IronXL, utilisez la méthode SaveAs, en sélectionnant le format de fichier désiré comme XLSX, CSV ou JSON.

Y a-t-il une version d'essai gratuite disponible pour une bibliothèque .NET Excel ?

Oui, IronXL offre une version d'essai gratuite qui vous donne un accès complet à ses fonctionnalités, permettant aux développeurs de tester ses capacités avant de s'engager.

Où puis-je trouver une documentation détaillée pour utiliser une bibliothèque .NET Excel ?

Une documentation complète pour IronXL, incluant des guides et des exemples, peut être trouvée sur leur site officiel.

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