UTILISATION D'IRONXL

Datatable to Excel in C# (Tutoriel d'exemple de code)

Regan Pun
Regan Pun
juin 26, 2022
Mise à jour janvier 7, 2024
Partager:

Il peut être difficile de modifier par programme une feuille de calcul Excel, pour deux raisons principales. Tout d'abord, lorsqu'ils utilisent des feuilles de calcul, les utilisateurs doivent maintenir une interface et une structure de document cohérentes, ce qui n'est pas toujours simple. Deuxièmement, il n'est pas toujours évident de savoir quel code fonctionnera dans des situations spécifiques, en particulier lorsqu'il s'agit de calculs sophistiqués. Il existe de nombreuses raisons pour lesquelles la création programmatique d'un fichier Excel est difficile. Les programmeurs doivent d'abord transformer les données du document Excel dans un format lisible, puis analyser les données et les restituer, ce qui est encore plus difficile. J'ai trouvé une solution à ce problème. Je vais vous apprendre à créer un fichier Excel et à exporter par programmation une base de données vers une feuille Excel sans aucun problème en utilisant la bibliothèque IronXL for .NET Excel. Commençons :

Caractéristiques d'IronXL

  • IronXL fonctionne sur une variété de systèmes d'exploitation, y compris Windows, Linux et macOS.
  • Presque tous les frameworks .NET sont pris en charge par IronXL, y compris les applications Console, Windows Forms et applications Web.
  • IronXL rend la lecture des fichiers Excel simple et facile.
  • Nous pouvons charger, modifier, exporter des Datatables, exporter des ensembles de données, et lire des formats de fichiers Excel tels que des fichiers XLSX, XLS, CSV, TSV, XLST, XLSM, et plus encore avec IronXL.
  • IronXL nous permet d'enregistrer et d'exporter des fichiers avec une variété d'extensions, y compris XLS, CSV, TSV, JSON, XLSX, et autres.
  • Les formules Excel peuvent être créées par IronXL.
  • Le texte, les nombres, les formules, les dates, les devises, les pourcentages et d'autres formats de données de cellules Excel sont pris en charge par IronXL.
  • Il propose également de nombreuses options de tri telles que la plage, les colonnes et les lignes, entre autres.
  • La mise en forme des cellules dans IronXL inclut la police, la taille, le motif de fond, la bordure et l'alignement, entre autres.
  • Nous pouvons lire et exporter des données d'un fichier Excel à l'aide d'IronXL.
  • IronXL ne nécessite pas l'installation d'Excel ou d'Interop sur votre serveur. L'API IronXL est plus rapide et plus facile à utiliser que Microsoft Office, Interop et Excel.

1 Création d'un nouveau projet dans Visual Studio

Pour utiliser la bibliothèque IronXL, nous devons créer un projet .NET dans Visual Studio. Vous pouvez utiliser n'importe quelle version de Visual Studio, mais la dernière version est recommandée. Vous pouvez créer une application comme Windows Forms ou différents modèles de projet, en fonction de vos besoins. Pour ce tutoriel, j'utiliserai l'application Console, pour des raisons de simplicité.

Comment exporter d'énormes données d'un DataTable vers Excel en C#, Figure 1 : Créer une nouvelle interface utilisateur de projet dans Visual Studio

Créer une nouvelle interface projet dans Visual Studio

Saisissez ensuite le nom du projet et son emplacement.

Comment exporter de grandes données d'un DataTable vers Excel en C#, Figure 2 : Étape de configuration lors de la création d'un nouveau projet

Étape de configuration lors de la création d'un nouveau projet

Sélectionnez ensuite le cadre ci-dessous. Dans ce projet, nous allons utiliser .NET Core 6.

Comment exporter de grandes données depuis Datatable vers Excel en C#, Figure 3 : Interface de sélection du .Net Framework

Sélection de l'interface utilisateur .Net Framework

Une fois que l'application a créé la solution, elle ouvre le fichier program.cs dans lequel vous pouvez saisir le code et construire/exécuter l'application.

Comment exporter des données volumineuses d'un Datatable vers Excel en C#, Figure 4 : Fichier program.cs vide sur le nouveau projet

Fichier program.cs vide sur le nouveau projet

Ensuite, nous pouvons ajouter la bibliothèque pour tester le code.

2 Installer la bibliothèque IronXL

La bibliothèque IronXL peut être téléchargée et installée de quatre façons.

Il s'agit de

  • Utilisation de Visual Studio
  • Utilisation de la ligne de commande de Visual Studio.
  • Téléchargement direct depuis le site NuGet.
  • Téléchargement direct depuis le site web d'IronXL.

2.1 Utilisation de Visual Studio

Nous pouvons installer la bibliothèque IronXL à l'aide du gestionnaire de paquets NuGet. Vous devez d'abord ouvrir le gestionnaire de paquets NuGet et rechercher IronXL dans l'onglet Parcourir. Sélectionnez IronXL dans les résultats de la recherche et installez-le. Après cela, notre projet sera prêt à être utilisé dans la bibliothèque IronXL.

La capture d'écran ci-dessous montre comment ouvrir le gestionnaire de paquets NuGet dans Visual Studio.

Comment exporter d'énormes données d'un Datatable vers Excel en C#, Figure 5 : Accédez au gestionnaire de packages NuGet dans Visual Studio

Accédez à Gestionnaire de packages NuGet dans Visual Studio

IronXL dans les résultats de recherche :

Comment exporter de grandes données d'un DataTable vers Excel en C#, Figure 6 : Rechercher la bibliothèque IronXL

Rechercher la bibliothèque IronXL

2.2 Utilisation de la ligne de commande de Visual Studio

De nombreuses personnes aiment utiliser une console pour effectuer des opérations. Nous pouvons donc également l'installer à l'aide de la console. Suivez les étapes suivantes pour installer IronXL par la ligne de commande.

  • Dans Visual Studio, allez à Outils-> Gestionnaire de packages NuGet -> Console du gestionnaire de packages.
  • Saisissez la ligne suivante dans l'onglet Console du gestionnaire de paquets :
Install-Package IronXL.Excel

Le paquet sera alors téléchargé/installé dans le projet en cours et prêt à être utilisé.

Comment exporter de grandes quantités de données de DataTable vers Excel en C#, Figure 7 : Installer le package IronXL via la console

Installer le package IronXL via la console

2.3 Téléchargement direct depuis le site NuGet

La troisième méthode consiste à télécharger le paquet NuGet directement à partir du site web.

  • Accédez à la page officielle du package IronXL sur NuGet.
  • Sélectionnez l'option de téléchargement dans le menu de droite.
  • Double-cliquez sur le paquet téléchargé. Il sera installé automatiquement.
  • Ensuite, rechargez la solution et commencez à l'utiliser dans le projet.

2.4 Téléchargement direct à partir du site web d'IronXL

Cliquez sur le lien pour télécharger le dernier package directement depuis le site web. Une fois téléchargé, suivez les étapes ci-dessous pour ajouter le package au projet.

  • Cliquez avec le bouton droit de la souris sur le projet dans la fenêtre de la solution.
  • Ensuite, sélectionnez les options de référence et recherchez l'emplacement de la référence téléchargée.
  • Ensuite, cliquez sur ok pour ajouter la référence.

3 Exportation de données vers un fichier Excel à l'aide d'IronXL

IronXL nous permet d'exporter facilement des tableaux de données vers des fichiers Excel avec un nombre limité d'étapes.

Tout d'abord, nous devons inclure l'espace de noms d'IronXL comme dans la capture d'écran du code ci-dessous. Une fois qu'il est ajouté, nous pouvons utiliser les classes et méthodes IronXL dans notre code.

Comment exporter de grandes données de Datatable vers Excel en C#, Figure 8 : Inclure l'espace de noms d'IronXL avant d'utiliser la bibliothèque

Inclure le namespace d'IronXL avant d'utiliser la bibliothèque

IronXL nous permet de créer des fichiers Excel et de les convertir en objets de classeur. Après les avoir convertis en objets, nous pouvons effectuer différents types d'opérations. Dans l'exemple de code ci-dessous, nous allons convertir une table de données en une feuille de calcul Excel, puis nous pourrons créer un fichier Excel.

public static void ExportToExcel(string filePath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Animal", typeof(string));
    table.Rows.Add("Lion");
    table.Rows.Add("Tiger");
    table.Rows.Add("Cat");
    table.Rows.Add("Goat");
    table.Rows.Add("Panther");
    table.Rows.Add("Fox");
    table.Rows.Add("Cheetah");
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws ["A" + (rowCount)].Value = row [0].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(filePath, ";");
}
public static void ExportToExcel(string filePath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Animal", typeof(string));
    table.Rows.Add("Lion");
    table.Rows.Add("Tiger");
    table.Rows.Add("Cat");
    table.Rows.Add("Goat");
    table.Rows.Add("Panther");
    table.Rows.Add("Fox");
    table.Rows.Add("Cheetah");
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws ["A" + (rowCount)].Value = row [0].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(filePath, ";");
}
Public Shared Sub ExportToExcel(ByVal filePath As String)
	Dim table As New DataTable()
	table.Columns.Add("DataSet_Animal", GetType(String))
	table.Rows.Add("Lion")
	table.Rows.Add("Tiger")
	table.Rows.Add("Cat")
	table.Rows.Add("Goat")
	table.Rows.Add("Panther")
	table.Rows.Add("Fox")
	table.Rows.Add("Cheetah")
	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim ws As WorkSheet = wb.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each row As DataRow In table.Rows
		ws ("A" & (rowCount)).Value = row (0).ToString()
		rowCount += 1
	Next row
	wb.SaveAsCsv(filePath, ";")
End Sub
$vbLabelText   $csharpLabel

Dans le code ci-dessus, nous exportons le tableau de données vers un fichier Excel. Tout d'abord, nous créons un DataTable, puis nous créons les en-têtes de colonne. Après avoir créé les colonnes, nous les ajoutons une par une. Une fois que nous avons ajouté la colonne, nous créons ensuite l'objet WorkBook. En utilisant l'objet, nous pouvons ajouter les données à la feuille Excel, puis les enregistrer à l'endroit voulu. Nous créons l'objet WorkSheet qui permet de créer une feuille de calcul, et ensuite nous pouvons l'ajouter à l'objet WorkBook.

Nous utilisons la boucle foreach pour lire les valeurs de la table de données une par une, puis nous ajoutons la valeur à la feuille de calcul. Une fois toutes les valeurs ajoutées à la feuille de calcul, nous les enregistrons dans un fichier CSV à l'aide de la méthode appelée SaveAsCSV - nous devons passer le délimiteur et le nom du fichier avec l'emplacement comme paramètre. Un délimiteur est un paramètre facultatif que nous pouvons ignorer s'il n'est pas nécessaire.

Comment exporter de grandes données d'un tableau de données vers Excel en C#, Figure 9 : Le code terminé dans Visual Studio

Le code complété dans Visual Studio

Voici la capture d'écran complète du code que nous utilisons sur le .NET Core 6.

Résultat :

Comment exporter des données volumineuses de Datatable vers Excel en C#, Figure 10 : Le résultat lors de l'ouverture du fichier dans Microsoft Excel

Le résultat lors de l'ouverture du fichier dans Microsoft Excel

Voici le résultat de l'exemple de code exécuté. Dans la capture d'écran, toutes les données disponibles dans le tableau de données ont été ajoutées une à une à la feuille Excel nouvellement créée.

4 Conclusion

IronXL est l'une des bibliothèques Excel les plus utilisées. Il ne dépend d'aucune autre bibliothèque tierce. Il est indépendant et ne nécessite pas l'installation de MS Excel. Il fonctionne sur plusieurs plateformes. Le prix de départ pour IronXL commence à $749. De plus, il offre la possibilité de payer un an pour l'assistance et les mises à jour du produit. IronXL offre une couverture de redistribution sans redevance moyennant un coût supplémentaire. Pour en savoir plus sur les détails des prix, visitez notre page de licences.

Regan Pun
Ingénieur logiciel
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT
C# Ouvrir un fichier Excel par programme (Tutoriel d'exemple de code)
SUIVANT >
Comment déplacer des lignes dans Excel