Passer au contenu du pied de page
UTILISATION D'IRONXL

Comment convertir un dataset en Excel en VB.NET

La conversion de DataSets en fichiers de feuille de calcul Excel est une exigence courante dans les applications VB.NET, que vous génériez des rapports, exportiez des requêtes de base de données ou créiez des sauvegardes de données. Alors que les méthodes traditionnelles utilisant Office Interop nécessitent l'installation d'Excel et des références COM complexes, IronXL offre une approche simplifiée qui fonctionne indépendamment de Microsoft Office.

Ce tutoriel démontre comment convertir efficacement des DataSets avec des lignes DataTable en fichiers Excel en VB.NET en utilisant IronXL, avec des options de formatage et une prise en charge de plusieurs formats de fichier.

Qu'est-ce qui rend la conversion de DataSet en Excel essentielle ?

Un DataSet dans .NET représente un cache de données en mémoire, contenant une ou plusieurs DataTables avec des lignes, des colonnes et des relations. La conversion de ces DataSets en Excel permet :

  • Rapports d'entreprise : Transformer des requêtes de base de données en feuilles de calcul formatées pour les parties prenantes
  • Archivage des données : Exporter les données de l'application pour un stockage et une analyse à long terme
  • Compatibilité multiplateforme : Partager des données avec des utilisateurs qui pourraient ne pas avoir accès à votre application
  • Amélioration de la visualisation : Utiliser les outils intégrés de graphiques et d'analyse d'Excel

IronXL simplifie ce processus en fournissant une API intuitive qui gère la conversion sans nécessiter l'installation d'Excel sur le serveur ou la machine de développement. La bibliothèque prend en charge le .NET Framework 4.6.2 et ultérieur, .NET Core et .NET 5 et ultérieur, ce qui la rend adaptée aux applications modernes, y compris celles déployées sur des conteneurs Linux et dans des environnements cloud. Pour plus de détails sur les plateformes prises en charge, visitez la page des fonctionnalités d'IronXL.

Comment commencer avec IronXL dans votre projet VB.NET ?

Installer IronXL dans votre projet de code VB.NET ou .NET prend juste quelques minutes. Ouvrez Visual Studio et naviguez jusqu'à votre projet, puis installez IronXL via le Gestionnaire de packages NuGet.

En utilisant la console du Gestionnaire de packages, exécutez :

Install-Package IronXL.Excel

Sinon, recherchez "IronXL.Excel" dans l'interface du Gestionnaire de packages NuGet et cliquez sur Installer. Le package téléchargera et configurera automatiquement toutes les dépendances nécessaires. Vous pouvez trouver plus d'options d'installation dans le guide d'installation d'IronXL.

Une fois installé, ajoutez l'espace de noms IronXL à votre fichier VB.NET :

Imports IronXL
Imports System.Data
Imports IronXL
Imports System.Data
VB .NET

Avec ces importations en place, vous êtes prêt à commencer à convertir des DataSets en fichiers Excel.

Comment convertir un DataSet en Excel en VB .NET ?

Commençons par un exemple pratique qui crée un DataSet avec des données d'exemple et l'exporte vers un fichier Excel :

' Create a sample DataSet with product information
Dim dataSet As New DataSet("ProductData")
' Create a DataTable object for products, column headers
Dim productsTable As New DataTable("Products")
productsTable.Columns.Add("ProductID", GetType(Integer))
productsTable.Columns.Add("ProductName", GetType(String))
productsTable.Columns.Add("Price", GetType(Decimal))
productsTable.Columns.Add("InStock", GetType(Boolean))
' Add sample data to export DataTable
productsTable.Rows.Add(1, "Laptop", 999.99, True)
productsTable.Rows.Add(2, "Mouse", 19.99, True)
productsTable.Rows.Add(3, "Keyboard", 49.99, False)
productsTable.Rows.Add(4, "Monitor", 299.99, True)
productsTable.Rows.Add(5, "Headphones", 79.99, True)
' Add the DataTable table to the DataSet
dataSet.Tables.Add(productsTable)
' Export DataSet to Excel using IronXL
Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook)
' Save the Excel file
workBook.SaveAs("ProductData.xlsx")
' Create a sample DataSet with product information
Dim dataSet As New DataSet("ProductData")
' Create a DataTable object for products, column headers
Dim productsTable As New DataTable("Products")
productsTable.Columns.Add("ProductID", GetType(Integer))
productsTable.Columns.Add("ProductName", GetType(String))
productsTable.Columns.Add("Price", GetType(Decimal))
productsTable.Columns.Add("InStock", GetType(Boolean))
' Add sample data to export DataTable
productsTable.Rows.Add(1, "Laptop", 999.99, True)
productsTable.Rows.Add(2, "Mouse", 19.99, True)
productsTable.Rows.Add(3, "Keyboard", 49.99, False)
productsTable.Rows.Add(4, "Monitor", 299.99, True)
productsTable.Rows.Add(5, "Headphones", 79.99, True)
' Add the DataTable table to the DataSet
dataSet.Tables.Add(productsTable)
' Export DataSet to Excel using IronXL
Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook)
' Save the Excel file
workBook.SaveAs("ProductData.xlsx")
VB .NET

Ce code crée un DataSet contenant des informations sur les produits et le convertit directement en un fichier Excel. La méthode LoadWorkSheetsFromDataSet crée automatiquement une feuille de calcul pour chaque DataTable dans votre DataSet. Le fichier Excel résultant contient des données correctement formatées dérivées de votre structure DataTable.

Sortie

Comment convertir un DataSet en Excel en VB.NET : Figure 8 - Sortie Excel

Vous pouvez également manipuler des fichiers Excel et les enregistrer dans différents formats :

' Save as legacy Excel versions format
workBook.SaveAs("ProductData.xls")
' Save as CSV (comma-separated values)
workBook.SaveAsCsv("ProductData.csv")
' Save as TSV (tab-separated values)
workBook.SaveAs("ProductData.tsv")
' Save as legacy Excel versions format
workBook.SaveAs("ProductData.xls")
' Save as CSV (comma-separated values)
workBook.SaveAsCsv("ProductData.csv")
' Save as TSV (tab-separated values)
workBook.SaveAs("ProductData.tsv")
VB .NET

Chaque format a ses cas d'utilisation spécifiques : le format de fichier XLSX pour la compatibilité moderne d'Excel, XLS pour les systèmes hérités, et CSV/TSV pour l'échange universel de données avec d'autres applications et bases de données. En savoir plus sur la conversion entre formats de feuille de calcul.

Comment exporter directement des données de base de données vers un format de fichier Excel ?

Les applications du monde réel nécessitent souvent l'exportation de données à partir de bases de données SQL. Voici comment interroger une base de données et exporter les résultats vers Excel :

Dim connectionString As String = "Data Source=server;Initial Catalog=SampleDB;Integrated Security=True"
Dim query As String = "SELECT OrderID, CustomerName, OrderDate, TotalAmount FROM Orders WHERE OrderDate >= '2024-01-01'"
Dim dataSet As New DataSet()
' Populate DataSet from database
Using connection As New SqlConnection(connectionString)
    Using adapter As New SqlDataAdapter(query, connection)
        adapter.Fill(dataSet, "Orders")
    End Using
End Using
' Create Excel workbook and load data
Dim workBook As WorkBook = WorkBook.Create()
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook)
' Auto-size columns for better readability
Dim worksheet As WorkSheet = workBook.WorkSheets(0)
For i As Integer = 0 To worksheet.Columns.Count - 1
    worksheet.AutoSizeColumn(i)
Next
' Save with timestamp in filename
Dim fileName As String = $"OrdersExport_{DateTime.Now:yyyyMMdd_HHmmss}.xlsx"
workBook.SaveAs(fileName)
Dim connectionString As String = "Data Source=server;Initial Catalog=SampleDB;Integrated Security=True"
Dim query As String = "SELECT OrderID, CustomerName, OrderDate, TotalAmount FROM Orders WHERE OrderDate >= '2024-01-01'"
Dim dataSet As New DataSet()
' Populate DataSet from database
Using connection As New SqlConnection(connectionString)
    Using adapter As New SqlDataAdapter(query, connection)
        adapter.Fill(dataSet, "Orders")
    End Using
End Using
' Create Excel workbook and load data
Dim workBook As WorkBook = WorkBook.Create()
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook)
' Auto-size columns for better readability
Dim worksheet As WorkSheet = workBook.WorkSheets(0)
For i As Integer = 0 To worksheet.Columns.Count - 1
    worksheet.AutoSizeColumn(i)
Next
' Save with timestamp in filename
Dim fileName As String = $"OrdersExport_{DateTime.Now:yyyyMMdd_HHmmss}.xlsx"
workBook.SaveAs(fileName)
VB .NET

Cet exemple démontre un flux de travail complet de la requête de base de données au fichier Excel. Le SqlDataAdapter remplit le DataSet avec les résultats des requêtes, qu'IronXL convertit ensuite en un fichier Excel formaté. La fonction de redimensionnement automatique garantit que toutes les données sont visibles sans ajustements manuels de la largeur des colonnes, créant un export professionnel prêt à être distribué. Pour la gestion de jeux de données plus importants, consultez notre guide sur le travail avec de grands fichiers Excel.

Entrée

Comment convertir un DataSet en Excel en VB.NET : Figure 15 - Entrée de base de données

Sortie

Comment convertir un DataSet en Excel en VB.NET : Figure 10 - Sortie Excel

Comment gérer plusieurs DataTables dans un fichier Excel ?

Lorsque vous travaillez avec des données connexes, vous pourriez avoir plusieurs DataTables dans un même DataSet. IronXL gère cela sans heurts :

Dim dataSet As New DataSet("CompanyData")
' Create Employees table (dim dt)
Dim employeesTable As New DataTable("Employees")
employeesTable.Columns.Add("EmployeeID", GetType(Integer))
employeesTable.Columns.Add("Name", GetType(String))
employeesTable.Columns.Add("Department", GetType(String))
employeesTable.Rows.Add(1, "John Smith", "Sales")
employeesTable.Rows.Add(2, "Jane Doe", "Marketing")
' Create Departments table
Dim departmentsTable As New DataTable("Departments")
departmentsTable.Columns.Add("DepartmentName", GetType(String))
departmentsTable.Columns.Add("Budget", GetType(Decimal))
departmentsTable.Rows.Add("Sales", 100000)
departmentsTable.Rows.Add("Marketing", 75000)
' Add both tables to DataSet
dataSet.Tables.Add(employeesTable)
dataSet.Tables.Add(departmentsTable)
' Convert to Excel - each DataTable becomes a worksheet
Dim workBook As WorkBook = WorkBook.Create()
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook)
' Optionally rename worksheets
workBook.WorkSheets(0).Name = "Employee List"
workBook.WorkSheets(1).Name = "Department Budgets"
workBook.SaveAs("CompanyData.xlsx")
Dim dataSet As New DataSet("CompanyData")
' Create Employees table (dim dt)
Dim employeesTable As New DataTable("Employees")
employeesTable.Columns.Add("EmployeeID", GetType(Integer))
employeesTable.Columns.Add("Name", GetType(String))
employeesTable.Columns.Add("Department", GetType(String))
employeesTable.Rows.Add(1, "John Smith", "Sales")
employeesTable.Rows.Add(2, "Jane Doe", "Marketing")
' Create Departments table
Dim departmentsTable As New DataTable("Departments")
departmentsTable.Columns.Add("DepartmentName", GetType(String))
departmentsTable.Columns.Add("Budget", GetType(Decimal))
departmentsTable.Rows.Add("Sales", 100000)
departmentsTable.Rows.Add("Marketing", 75000)
' Add both tables to DataSet
dataSet.Tables.Add(employeesTable)
dataSet.Tables.Add(departmentsTable)
' Convert to Excel - each DataTable becomes a worksheet
Dim workBook As WorkBook = WorkBook.Create()
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook)
' Optionally rename worksheets
workBook.WorkSheets(0).Name = "Employee List"
workBook.WorkSheets(1).Name = "Department Budgets"
workBook.SaveAs("CompanyData.xlsx")
VB .NET

Chaque DataTable dans votre DataSet devient une feuille de calcul séparée dans le fichier Excel, conservant la séparation logique de vos données. Cette approche est particulièrement utile pour créer des rapports complets nécessitant des feuilles de calcul individuelles pour différentes catégories de données, le tout dans un seul fichier. Selon la documentation de Microsoft sur les DataSets, cette structure reflète la nature relationnelle des schémas de base de données.

Sortie

Comment convertir un DataSet en Excel en VB.NET : Figure 11 - Sortie Excel avec plusieurs feuilles de calcul - Liste des employés

Comment convertir un DataSet en Excel en VB.NET : Figure 12 - Sortie Excel - Budgets départementaux

Comment ajouter un formatage de base à votre exportation Excel ?

Bien qu'IronXL gère automatiquement le formatage de base, vous pouvez améliorer vos exportations Excel avec un style supplémentaire :

' After loading DataSet into WorkBook
Dim worksheet As WorkSheet = workBook.WorkSheets(0)
' Set header row style
Dim headerRange As Range = worksheet.GetRange("A1:D1")
headerRange.Style.Font.Bold = True
headerRange.Style.BackgroundColor = "#4472C4"
headerRange.Style.Font.Color = "#FFFFFF"
' Format currency columns
For rowIndex As Integer = 1 To worksheet.RowCount - 1
    worksheet($"C{rowIndex + 1}").FormatString = "$#,##0.00"
Next
' Add borders to data range
Dim dataRange As Range = worksheet.GetRange($"A1:D{worksheet.RowCount}")
dataRange.Style.Border.TopBorder.Type = BorderType.Thin
dataRange.Style.Border.BottomBorder.Type = BorderType.Thin
' After loading DataSet into WorkBook
Dim worksheet As WorkSheet = workBook.WorkSheets(0)
' Set header row style
Dim headerRange As Range = worksheet.GetRange("A1:D1")
headerRange.Style.Font.Bold = True
headerRange.Style.BackgroundColor = "#4472C4"
headerRange.Style.Font.Color = "#FFFFFF"
' Format currency columns
For rowIndex As Integer = 1 To worksheet.RowCount - 1
    worksheet($"C{rowIndex + 1}").FormatString = "$#,##0.00"
Next
' Add borders to data range
Dim dataRange As Range = worksheet.GetRange($"A1:D{worksheet.RowCount}")
dataRange.Style.Border.TopBorder.Type = BorderType.Thin
dataRange.Style.Border.BottomBorder.Type = BorderType.Thin
VB .NET

Ces options de formatage transforment les exportations de données brutes en feuilles de calcul professionnelles. Les capacités de style incluent les propriétés de police, les couleurs, les bordures et les formats de numéros, vous permettant de créer des exportations qui correspondent à la marque de votre organisation ou aux normes de rapport. Explorez plus d'options de style de cellules dans la documentation d'IronXL.

Sortie

Comment convertir un DataSet en Excel en VB.NET : Figure 13 - Sortie Excel avec formatage

Commencez votre essai gratuit et découvrez la simplicité de convertir des DataSets en Excel en VB.NET avec IronXL.

Comment convertir un DataSet en Excel en VB.NET : Figure 14 - Licence

Conclusion

La conversion de DataSets en Excel en VB.NET devient remarquablement simple avec IronXL. La bibliothèque élimine la complexité des approches Interop traditionnelles tout en offrant des fonctionnalités puissantes pour l'exportation de données, le formatage et le support multi-format. Que vous exportiez des données en mémoire ou des résultats de requêtes de base de données, IronXL gère efficacement la conversion sans nécessiter l'installation d'Excel.

Les principaux avantages de l'utilisation d'IronXL pour la conversion de DataSet en Excel incluent :

  • Pas de dépendances Microsoft Office
  • Prise en charge de plusieurs formats Excel (XLSX, XLS, CSV, TSV)
  • Création automatique de feuilles de calcul à partir de DataTables
  • Compatibilité multiplateforme pour les déploiements cloud et sur conteneur
  • API simple et intuitive nécessitant peu de code

Pour explorer d'autres fonctionnalités, telles que la création de graphiques, le support des formules et les options de formatage avancées, consultez la documentation d'IronXL qui correspond le mieux à vos besoins.

Prêt à transformer vos capacités d'exportation de données ? Téléchargez IronXL, qui inclut des bibliothèques pour PDF, code-barres, OCR, et plus encore.

Questions Fréquemment Posées

Comment puis-je convertir un ensemble de données en un fichier Excel en VB.NET ?

Vous pouvez convertir efficacement un ensemble de données en un fichier Excel en VB.NET en utilisant IronXL. Il fournit une méthode simple qui ne nécessite pas Microsoft Office ou des références COM complexes.

Quels sont les avantages d'utiliser IronXL pour convertir des ensembles de données en Excel ?

IronXL simplifie le processus de conversion des ensembles de données en Excel en éliminant le besoin de Microsoft Office et de références COM complexes. Il offre une solution simplifiée et efficace pour les développeurs VB.NET.

Ai-je besoin d'installer Microsoft Office pour utiliser IronXL ?

Non, IronXL fonctionne indépendamment de Microsoft Office, vous n'avez donc pas besoin d'installer Office pour convertir des ensembles de données en fichiers Excel.

IronXL est-il compatible avec les applications VB.NET ?

Oui, IronXL est entièrement compatible avec les applications VB.NET, ce qui le rend facile à intégrer et à utiliser pour exporter des ensembles de données vers Excel.

IronXL peut-il gérer de grands ensembles de données pour la conversion Excel ?

IronXL est conçu pour gérer efficacement de grands ensembles de données, garantissant une conversion fluide en Excel sans problèmes de performance.

Quelles sont les étapes pour convertir un ensemble de données en Excel en utilisant IronXL ?

La conversion implique de charger votre ensemble de données dans IronXL puis de l'enregistrer sous forme de fichier Excel. L'API d'IronXL fournit des instructions et des fonctions claires pour chaque étape.

IronXL prend-il en charge l'exportation des requêtes de base de données ?

Oui, IronXL prend en charge l'exportation des requêtes de base de données vers Excel, simplifiant la génération de rapports et les tâches d'analyse de données.

Y a-t-il des prérequis pour utiliser IronXL en VB.NET ?

Il n'y a pas de prérequis spécifiques à part disposer d'un environnement de développement VB.NET. IronXL ne nécessite pas d'installations supplémentaires comme Microsoft Office.

Comment IronXL améliore-t-il le processus de sauvegarde des données en VB.NET ?

IronXL simplifie la sauvegarde des données en facilitant la conversion des ensembles de données en Excel, offrant un format fiable et accessible pour le stockage des données.

Existe-t-il un guide pour utiliser IronXL avec VB.NET ?

Oui, IronXL fournit une documentation détaillée et des guides spécifiques pour les développeurs VB.NET, comprenant des instructions pas à pas pour des tâches telles que la conversion des ensembles de données en Excel.

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