Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Lorsqu'on travaille avec des feuilles de calcul, l'application Microsoft Excel est un outil populaire de feuille de calcul conçu pour gérer de grands ensembles de données dans un format tabulaire. Il offre des fonctionnalités puissantes telles que des calculs complexes, la visualisation de données via 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 d'analyse et de visualisation de données robustes ont fait d'Excel un choix de premier plan dans divers secteurs. Avec Excel, vous pouvez facilement créer, éditer, afficher et partager des fichiers, simplifiant ainsi vos tâches de gestion de données.
En C#, l'objet DataTable de la bibliothèque ADO.NET représente des données tabulaires dans un programme, un peu comme une feuille de calcul Excel. Il organise les données en lignes et colonnes, permettant une manipulation et une exportation faciles. Tout comme Excel, DataTable prend en charge les options de filtrage, de tri et de formatage, ce qui en fait un outil de choix pour gérer les plages de données en C#. Cependant, DataTable est créé à l'exécution, et ses données sont perdues lorsque l'application est fermée, à moins d'être exportées dans 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 en utilisant IronXL, une puissante bibliothèque Excel pour .NET.
IronXLest 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. Sa riche gamme de fonctionnalités rend le travail programmatique avec les fichiers Excel un jeu d'enfant et, surtout, IronXL fonctionne sans Microsoft Office Interop. Cela signifie qu'il n'est pas nécessaire d'installer Microsoft Office ou toute autre dépendance spéciale.
Avec IronXL, vous pouvez enregistrer ou exporter des données dans différents formats tels que XLS et XLSX, des données CSV et TSV, JSON, XML et HTML, ainsi que des tableaux binaires et de bytes. Il dispose également de puissantes fonctionnalités de sécurité des classeurs, telles que l'ajout de permissions et de mots de passe, et vous permet d'éditer les métadonnées du classeur.
Pour utiliser IronXL pour exporter des données d'un datatable vers un fichier Excel en C#, nous devons installer les composants suivants sur l'ordinateur local. Examinons-les un par un.
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 depuisSite web de Visual Studio.
Une fois l'IDE configuré, une application Console/formulaire Windows doit être créée afin d'aider à exporter une table de données vers Excel. Les captures d'écran suivantes montrent comment créer un projet.
Maintenant, choisissez le type de votre projet. Dans notre exemple, nous allons créer une application console.
Nommez votre projet et choisissez l'emplacement où il sera enregistré.
Enfin, choisissez votre .NET Framework, puis cliquez sur "Créer".
Après avoir cliqué sur Créer dans la dernière capture d'écran, le projet portant le nom "DemoApp" est créé.
Bibliothèque IronXL - La bibliothèque IronXL doit être téléchargée et installée dans le projet Visual Studio. Il y a 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 aident à installer IronXL. Tout d'abord, accédez à "Outils" dans la barre supérieure, ou faites un clic droit dans votre explorateur de solution.
Accédez à Gérer les packages NuGet pour la solution et recherchez IronXL. Ensuite, vous n'avez qu'à appuyer sur "Installer" et la bibliothèque IronXL sera ajoutée à votre projet.
PM > Install-Package IronXL.Excel
PM > Install-Package IronXL.Excel
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'PM > Install-Package IronXL.Excel
using IronXL; //add reference...
using System.Data;
using IronXL; //add reference...
using System.Data;
Imports IronXL 'add reference...
Imports System.Data
Une fois toutes les conditions préalables remplies, il est temps d'exporter les données du datatable vers une feuille Excel.
Le code suivant crée un nouveau tableau de données avec deux en-têtes de colonnes et plusieurs lignes :
//new datatable dt...
DataTable dt = new DataTable();
//add column names...
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
dt.Rows.Add("Lion", "Roars"); // first row...
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");
//new datatable dt...
DataTable dt = new DataTable();
//add column names...
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
dt.Rows.Add("Lion", "Roars"); // first row...
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");
'new datatable dt...
Dim dt As New DataTable()
'add column names...
dt.Columns.Add("Animal")
dt.Columns.Add("Sound")
dt.Rows.Add("Lion", "Roars") ' first row...
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")
Tout d'abord, nous créons un nouveau DataTable appelé "dt". Ensuite, en utilisant Columns.Add, nous pouvons ajouter un nombre spécifié de colonnes au tableau de données par nom. Dans notre exemple, nous avons deux colonnes appelées "Animal" et "Sound". Nous utilisons ensuite Rows.Add pour ajouter de nouvelles lignes, en plaçant le contenu de chaque ligne entre les crochets. Le contenu est séparé par des virgules, chaque chaîne étant séparée par une colonne.
Lors de la création de types de fichiers Excel à partir de zéro avec IronXL, il s'agit d'un processus en deux étapes très facile à implémenter en C#. IronXL crée d'abord un classeur Excel, puis aide à y ajouter une feuille de calcul. Le code exemple suivant démontre comment créer un classeur ainsi qu'une feuille de calcul :
//create new workbook...
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = wb.DefaultWorkSheet;
//create new workbook...
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = wb.DefaultWorkSheet;
'create new workbook...
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim ws As WorkSheet = wb.DefaultWorkSheet
Utiliser IronXL pour ajouter des valeurs à une feuille de calcul simplifie l'ensemble du processus, car il peut effectuer cette tâche avec un code minimal. Ici, nous apprendrons àexporter des 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.
ws["A1"].Value = dt.Columns[0].ToString();
ws["B1"].Value = dt.Columns[1].ToString();
int rowCount = 2;
ws["A1"].Value = dt.Columns[0].ToString();
ws["B1"].Value = dt.Columns[1].ToString();
int rowCount = 2;
ws("A1").Value = dt.Columns(0).ToString()
ws("B1").Value = dt.Columns(1).ToString()
Dim rowCount As Integer = 2
Dans le code ci-dessus, la colonne "A1" de la feuille Excel reçoit la valeur de la colonne 1 du datatable à l'index 0, et la valeur de la colonne Excel suivante "B1" est assignée à partir de la colonne 2 à l'index 1 dans le datatable. La variable rowCount est définie à la valeur 2 pour lire les lignes à partir de la deuxième ligne du datatable, ce qui garantit que nous ne comptons pas la ligne d'en-tête.
Le code suivant lira chaque ligne de la table de données et l'assignera à une nouvelle ligne dans le fichier Excel :
foreach (DataRow row in dt.Rows)
{
ws["A" + (rowCount)].Value = row[0].ToString();
ws["B" + (rowCount)].Value = row[1].ToString();
rowCount++;
}
foreach (DataRow row in dt.Rows)
{
ws["A" + (rowCount)].Value = row[0].ToString();
ws["B" + (rowCount)].Value = row[1].ToString();
rowCount++;
}
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
La variable rowCount est incrémentée à chaque fois pour qu'une nouvelle ligne soit lue à partir dutableau de données vers Excel dans le code ci-dessus.
Enfin, enregistrez le fichier Excel en utilisant la SaveAs() méthode.
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx")
Le fichier peut également être enregistré dans d'autres formats, par exemple CSV.(Valeurs séparées par des virgules)jSON, XML.
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv")
wb.SaveAsJson("DataTable_to_Excel_IronXL.json")
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml")
Vous pouvez également l'enregistrer avec un délimiteur personnalisé.
La sortie finale du fichier ressemble à ceci :
Dans cet article, nous avons démontré comment créer un DataTable avec des colonnes et des lignes en C#, suivi par la génération d'un classeur Excel avec une feuille de calcul par défaut en utilisant IronXL. Nous avons ensuite exporté avec succès les données tabulaires du DataTable dans un fichier Excel et les avons enregistrées au format .xlsx.
IronXLest une bibliothèque C# conviviale qui permet aux développeurs de travailler avec des fichiers Excel de manière transparente, même sans avoir MS Excel installé. Il prend en charge l'exportation de données à partir de divers formats, tels que les fichiers CSV, pour une manipulation et un calcul ultérieurs.
Pour en savoir plus sur IronXL et son ensemble de fonctionnalités robustes, assurez-vous de consulter sa documentation étendue.la documentation. Vous voulez l'essayer vous-même ? IronXL offre également unessai gratuitavec un accès complet à toutes les fonctionnalités, vous pouvez donc commencer à explorer comment cette puissante bibliothèque peut améliorer vos projets de tableur immédiatement.!
9 produits de l'API .NET pour vos documents de bureau