Passer au contenu du pied de page
UTILISATION D'IRONXL

Exporter un DataGridView vers Excel en C# avec IronXL

Exportez des données DataGridView vers Excel en C# à l'aide d'IronXL, qui élimine les dépendances de Microsoft Office et permet un déploiement adapté aux conteneurs. Créez un WorkBook, itérez à travers les cellules DataGridView, et enregistrez au format XLSX avec une prise en charge complète du formatage.

L'exportation de données d'un Windows Forms DataGridView vers Excel est une exigence courante dans les applications d'entreprise. Qu'il s'agisse de générer des rapports, de créer des sauvegardes de données ou de partager des informations avec les parties prenantes, les développeurs ont besoin d'un moyen fiable d'exporter des données GridView au format Excel. Les approches traditionnelles utilisant Microsoft Office Interop ont rempli cet objectif, mais elles s'accompagnent de complexités de déploiement et d'exigences de dépendance qui peuvent compliquer la distribution des applications.

Ce tutoriel présente un exemple pratique en C# pour l'exportation de données DataGridView vers Excel à l'aide d'IronXL, une bibliothèque .NET qui élimine la nécessité d'installer Microsoft Office. Vous découvrirez comment mettre en œuvre une solution d'exportation propre et efficace, fonctionnant dans différents environnements, y compris les plateformes cloud et les conteneurs. Qu'il s'agisse de déployer sur Azure ou d'exécuter des applications dans des conteneurs Docker, IronXL offre la flexibilité de déploiement dont les équipes DevOps ont besoin.

Page d'accueil IronXL présentant un exemple de code C# pour la lecture de fichiers Excel sans Microsoft Office ou Excel Interop, avec mise en évidence de la syntaxe et statistiques de téléchargement NuGet.

Pourquoi l'exportation `DataGridView` vers Excel est-elle essentielle ?

les contrôles DataGridView sont fondamentaux pour les applications Windows Forms, car ils affichent des données tabulaires avec lesquelles les utilisateurs interagissent quotidiennement. L'exportation de ces données vers Excel permet aux utilisateurs d'appliquer les puissants outils d'analyse d'Excel, de créer des présentations et de partager des données avec des collègues qui n'ont peut-être pas accès à l'application. Cette fonctionnalité d'exportation Excel en C# est essentielle pour les flux de travail de reporting et d'analyse de données en entreprise.

Les méthodes d'exportation traditionnelles utilisant Microsoft.Office.Interop.Excel nécessitent l'installation d'Excel sur chaque machine exécutant l'application. Cela crée des défis de déploiement, en particulier dans les environnements serveurs ou lors de la distribution d'applications à des utilisateurs sans licences Office. De plus, les approches Interop peuvent souffrir de fuites de mémoire et de problèmes de nettoyage des objets COM si elles ne sont pas manipulées avec soin. Ces difficultés s'accentuent particulièrement lors du déploiement sur AWS Lambda ou d'autres plateformes sans serveur où l'installation d'Office n'est pas possible.

Les applications modernes .NET exigent des solutions plus flexibles. IronXL relève ces défis en fournissant une bibliothèque autonome qui génère des fichiers Excel sans aucune dépendance à Microsoft Office. Cette approche garantit une fonctionnalité cohérente dans les environnements de développement, de test et de production, tout en prenant en charge le déploiement sur des conteneurs et des plateformes cloud.

Diagramme de prise en charge multiplateforme montrant la compatibilité .NET sur plusieurs versions (9, 8, 7, 6, Core, Standard, Framework) avec des icônes pour diverses plateformes, notamment Windows, Linux, Mac, Docker, Azure et AWS.

Comment IronXL et Interop se comparent-ils ?

Le tableau ci-dessous résume les principales différences entre IronXL et Microsoft Office Interop pour les scénarios d'exportation Excel :

IronXL vs. Microsoft Office Interop pour l'exportation Excel
Caractéristique IronXL Microsoft Interop
Installation requise au bureau Non Oui
Prise en charge de Linux/Docker Oui Non
Nettoyage des objets COM Nonn requis Manuel, sujet aux erreurs
risque de fuite de mémoire Faible Élevé si non disposé
Déploiement cloud / sans serveur Pris en charge Nonn pris en charge
Formats d'exportation (XLSX, CSV, JSON, XML) Tous les services sont pris en charge Limitée

Comment installer IronXL dans votre projet C# ?

Ouvrez la console du gestionnaire de packages dans Visual Studio et exécutez la commande suivante, ou utilisez l'interface de ligne de commande .NET :

Install-Package IronXL
dotnet add package IronXL
Install-Package IronXL
dotnet add package IronXL
SHELL

Sortie de terminal montrant l'installation réussie du paquet NuGet IronXL.Excel et de ses dépendances dans un projet C#

Pour connaître les options d'installation détaillées, consultez le guide d'installation IronXL NuGet ou recherchez le package directement sur NuGet.org. Une fois installée, ajoutez using IronXL; à vos fichiers de projet C# pour accéder aux fonctionnalités d'exportation Excel de la bibliothèque. Lors du déploiement en environnement de production, appliquez votre clé de licence pour activer toutes les fonctionnalités. Vous pouvez obtenir une licence d'essai gratuite pour évaluer IronXL avant de l'acheter.

À quoi ressemble une exportation de DataGridView de base ?

Le code ci-dessous crée un exemple d'application Windows Forms avec un DataGridView peuplé de données, puis l'exporte vers Excel à l'aide d'instructions de haut niveau IronXL :

using IronXL;
using System.Data;
using System.Windows.Forms;

// Create a DataTable with sample product data
var dt = new DataTable();
dt.Columns.Add("Product ID", typeof(int));
dt.Columns.Add("Product Name", typeof(string));
dt.Columns.Add("Category", typeof(string));
dt.Columns.Add("Price", typeof(decimal));
dt.Columns.Add("Stock", typeof(int));

dt.Rows.Add(1001, "Laptop Pro", "Electronics", 1299.99m, 15);
dt.Rows.Add(1002, "Wireless Mouse", "Accessories", 29.99m, 50);
dt.Rows.Add(1003, "USB-C Cable", "Accessories", 19.99m, 100);
dt.Rows.Add(1004, "Monitor 27\"", "Electronics", 399.99m, 8);
dt.Rows.Add(1005, "Keyboard Mechanical", "Accessories", 89.99m, 25);

// Bind to DataGridView
var dataGridView1 = new DataGridView();
dataGridView1.DataSource = dt;

// Create new Excel workbook
var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;

// Export column headers
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
    worksheet.SetCellValue(0, colIndex, dataGridView1.Columns[colIndex].HeaderText);
}

// Export data rows
for (int rowIndex = 0; rowIndex < dataGridView1.Rows.Count; rowIndex++)
{
    if (!dataGridView1.Rows[rowIndex].IsNewRow)
    {
        for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
        {
            var cellValue = dataGridView1.Rows[rowIndex].Cells[colIndex].Value;
            if (cellValue is decimal or double or int)
                worksheet.SetCellValue(rowIndex + 1, colIndex, Convert.ToDouble(cellValue));
            else
                worksheet.SetCellValue(rowIndex + 1, colIndex, cellValue?.ToString() ?? string.Empty);
        }
    }
}

// Save the Excel file
workbook.SaveAs("DataGridViewExport.xlsx");
Console.WriteLine("Export completed successfully!");
using IronXL;
using System.Data;
using System.Windows.Forms;

// Create a DataTable with sample product data
var dt = new DataTable();
dt.Columns.Add("Product ID", typeof(int));
dt.Columns.Add("Product Name", typeof(string));
dt.Columns.Add("Category", typeof(string));
dt.Columns.Add("Price", typeof(decimal));
dt.Columns.Add("Stock", typeof(int));

dt.Rows.Add(1001, "Laptop Pro", "Electronics", 1299.99m, 15);
dt.Rows.Add(1002, "Wireless Mouse", "Accessories", 29.99m, 50);
dt.Rows.Add(1003, "USB-C Cable", "Accessories", 19.99m, 100);
dt.Rows.Add(1004, "Monitor 27\"", "Electronics", 399.99m, 8);
dt.Rows.Add(1005, "Keyboard Mechanical", "Accessories", 89.99m, 25);

// Bind to DataGridView
var dataGridView1 = new DataGridView();
dataGridView1.DataSource = dt;

// Create new Excel workbook
var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;

// Export column headers
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
    worksheet.SetCellValue(0, colIndex, dataGridView1.Columns[colIndex].HeaderText);
}

// Export data rows
for (int rowIndex = 0; rowIndex < dataGridView1.Rows.Count; rowIndex++)
{
    if (!dataGridView1.Rows[rowIndex].IsNewRow)
    {
        for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
        {
            var cellValue = dataGridView1.Rows[rowIndex].Cells[colIndex].Value;
            if (cellValue is decimal or double or int)
                worksheet.SetCellValue(rowIndex + 1, colIndex, Convert.ToDouble(cellValue));
            else
                worksheet.SetCellValue(rowIndex + 1, colIndex, cellValue?.ToString() ?? string.Empty);
        }
    }
}

// Save the Excel file
workbook.SaveAs("DataGridViewExport.xlsx");
Console.WriteLine("Export completed successfully!");
Imports IronXL
Imports System.Data
Imports System.Windows.Forms

' Create a DataTable with sample product data
Dim dt As New DataTable()
dt.Columns.Add("Product ID", GetType(Integer))
dt.Columns.Add("Product Name", GetType(String))
dt.Columns.Add("Category", GetType(String))
dt.Columns.Add("Price", GetType(Decimal))
dt.Columns.Add("Stock", GetType(Integer))

dt.Rows.Add(1001, "Laptop Pro", "Electronics", 1299.99D, 15)
dt.Rows.Add(1002, "Wireless Mouse", "Accessories", 29.99D, 50)
dt.Rows.Add(1003, "USB-C Cable", "Accessories", 19.99D, 100)
dt.Rows.Add(1004, "Monitor 27""", "Electronics", 399.99D, 8)
dt.Rows.Add(1005, "Keyboard Mechanical", "Accessories", 89.99D, 25)

' Bind to DataGridView
Dim dataGridView1 As New DataGridView()
dataGridView1.DataSource = dt

' Create new Excel workbook
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

' Export column headers
For colIndex As Integer = 0 To dataGridView1.Columns.Count - 1
    worksheet.SetCellValue(0, colIndex, dataGridView1.Columns(colIndex).HeaderText)
Next

' Export data rows
For rowIndex As Integer = 0 To dataGridView1.Rows.Count - 1
    If Not dataGridView1.Rows(rowIndex).IsNewRow Then
        For colIndex As Integer = 0 To dataGridView1.Columns.Count - 1
            Dim cellValue = dataGridView1.Rows(rowIndex).Cells(colIndex).Value
            If TypeOf cellValue Is Decimal OrElse TypeOf cellValue Is Double OrElse TypeOf cellValue Is Integer Then
                worksheet.SetCellValue(rowIndex + 1, colIndex, Convert.ToDouble(cellValue))
            Else
                worksheet.SetCellValue(rowIndex + 1, colIndex, If(cellValue?.ToString(), String.Empty))
            End If
        Next
    End If
Next

' Save the Excel file
workbook.SaveAs("DataGridViewExport.xlsx")
Console.WriteLine("Export completed successfully!")
$vbLabelText   $csharpLabel

Ce code démontre la fonctionnalité d'exportation principale. La configuration DataTable remplit la grille avec des données d'échantillons de produits, qui servent de source de données commune pour les contrôles DataGridView. Lorsque vous travaillez avec des ensembles de données volumineux, pensez à utiliser les fonctionnalités d'importation et d'exportation de DataSet d'IronXL pour améliorer les performances.

La boucle d'exportation itère à travers le DataGridView pour placer les en-têtes et les données dans les cellules Excel en utilisant le SetCellValue avec des indices de ligne et de colonne. La documentation IronXL couvre des options d'écriture de cellules supplémentaires pour des scénarios plus complexes. La vérification IsNewRow saute la ligne vide au bas des DataGridViews modifiables, garantissant une sortie Excel propre sans lignes vides inattendues.

Application Windows Forms montrant une DataGridView remplie de données de produits comprenant les colonnes ID de produit, Nonm, Catégorie, Prix et Stock, avec un bouton 'Exporter vers Excel' en dessous.

Tableau Microsoft Excel montrant des données exportées sur les produits avec des colonnes pour l'ID du produit, le nom du produit, la catégorie, le prix et les niveaux de stock pour l'électronique et les accessoires informatiques.

Si vous mettez en œuvre cette fonctionnalité dans une application ASP.NET MVC basée sur le web, élargissez l'approche en renvoyant le fichier en tant que réponse téléchargeable à l'aide de l'en-tête HTTP Content-Disposition. Pour les développeurs ASP.NET WebForms, il peut être nécessaire de remplacer VerifyRenderingInServerForm lors de l'exportation de contrôles pour assurer un rendu correct. Consultez la page des fonctionnalités IronXL pour obtenir la liste complète des scénarios pris en charge.

Comment ajouter une mise en forme Professional aux exportations Excel ?

Les exportations Excel professionnelles nécessitent souvent un formatage pour améliorer la lisibilité. IronXL offre des fonctionnalités de style telles que la personnalisation des polices, des couleurs d'arrière-plan, des bordures et de l'alignement. L'exemple ci-dessous ajoute une mise en forme d'en-tête et une alternance de couleurs de lignes :

using IronXL;
using System.Data;
using System.Windows.Forms;

// Assume dataGridView1 is already populated with data
var dataGridView1 = new DataGridView();

// (populate dataGridView1 with data as shown in the previous example)

var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;

// Set column headers with formatting
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
    var headerCell = worksheet.GetCellAt(0, colIndex);
    headerCell.Value = dataGridView1.Columns[colIndex].HeaderText;
    headerCell.Style.Font.Bold = true;
    headerCell.Style.BackgroundColor = "#4472C4";
    headerCell.Style.Font.Color = "#FFFFFF";
    headerCell.Style.HorizontalAlignment = IronXL.Styles.HorizontalAlignment.Center;
}

// Export data with alternating row colors
for (int rowIndex = 0; rowIndex < dataGridView1.Rows.Count; rowIndex++)
{
    if (!dataGridView1.Rows[rowIndex].IsNewRow)
    {
        for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
        {
            var cellValue = dataGridView1.Rows[rowIndex].Cells[colIndex].Value;
            var excelCell = worksheet.GetCellAt(rowIndex + 1, colIndex);

            if (cellValue != null)
                excelCell.Value = cellValue.ToString();

            // Apply alternating row background
            if (rowIndex % 2 == 0)
                excelCell.Style.BackgroundColor = "#F2F2F2";
        }
    }
}

// Auto-fit columns
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
    worksheet.AutoSizeColumn(colIndex);
}

workbook.SaveAs("FormattedExport.xlsx");
Console.WriteLine("Formatted export completed successfully!");
using IronXL;
using System.Data;
using System.Windows.Forms;

// Assume dataGridView1 is already populated with data
var dataGridView1 = new DataGridView();

// (populate dataGridView1 with data as shown in the previous example)

var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;

// Set column headers with formatting
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
    var headerCell = worksheet.GetCellAt(0, colIndex);
    headerCell.Value = dataGridView1.Columns[colIndex].HeaderText;
    headerCell.Style.Font.Bold = true;
    headerCell.Style.BackgroundColor = "#4472C4";
    headerCell.Style.Font.Color = "#FFFFFF";
    headerCell.Style.HorizontalAlignment = IronXL.Styles.HorizontalAlignment.Center;
}

// Export data with alternating row colors
for (int rowIndex = 0; rowIndex < dataGridView1.Rows.Count; rowIndex++)
{
    if (!dataGridView1.Rows[rowIndex].IsNewRow)
    {
        for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
        {
            var cellValue = dataGridView1.Rows[rowIndex].Cells[colIndex].Value;
            var excelCell = worksheet.GetCellAt(rowIndex + 1, colIndex);

            if (cellValue != null)
                excelCell.Value = cellValue.ToString();

            // Apply alternating row background
            if (rowIndex % 2 == 0)
                excelCell.Style.BackgroundColor = "#F2F2F2";
        }
    }
}

// Auto-fit columns
for (int colIndex = 0; colIndex < dataGridView1.Columns.Count; colIndex++)
{
    worksheet.AutoSizeColumn(colIndex);
}

workbook.SaveAs("FormattedExport.xlsx");
Console.WriteLine("Formatted export completed successfully!");
Imports IronXL
Imports System.Data
Imports System.Windows.Forms

' Assume dataGridView1 is already populated with data
Dim dataGridView1 As New DataGridView()

' (populate dataGridView1 with data as shown in the previous example)

Dim workbook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet = workbook.DefaultWorkSheet

' Set column headers with formatting
For colIndex As Integer = 0 To dataGridView1.Columns.Count - 1
    Dim headerCell = worksheet.GetCellAt(0, colIndex)
    headerCell.Value = dataGridView1.Columns(colIndex).HeaderText
    headerCell.Style.Font.Bold = True
    headerCell.Style.BackgroundColor = "#4472C4"
    headerCell.Style.Font.Color = "#FFFFFF"
    headerCell.Style.HorizontalAlignment = IronXL.Styles.HorizontalAlignment.Center
Next

' Export data with alternating row colors
For rowIndex As Integer = 0 To dataGridView1.Rows.Count - 1
    If Not dataGridView1.Rows(rowIndex).IsNewRow Then
        For colIndex As Integer = 0 To dataGridView1.Columns.Count - 1
            Dim cellValue = dataGridView1.Rows(rowIndex).Cells(colIndex).Value
            Dim excelCell = worksheet.GetCellAt(rowIndex + 1, colIndex)

            If cellValue IsNot Nothing Then
                excelCell.Value = cellValue.ToString()
            End If

            ' Apply alternating row background
            If rowIndex Mod 2 = 0 Then
                excelCell.Style.BackgroundColor = "#F2F2F2"
            End If
        Next
    End If
Next

' Auto-fit columns
For colIndex As Integer = 0 To dataGridView1.Columns.Count - 1
    worksheet.AutoSizeColumn(colIndex)
Next

workbook.SaveAs("FormattedExport.xlsx")
Console.WriteLine("Formatted export completed successfully!")
$vbLabelText   $csharpLabel

Cette version améliorée applique une mise en forme Professional au fichier Excel exporté. Les en-têtes sont mis en gras sur fond bleu avec une police blanche, ce qui permet de les distinguer clairement des lignes de données. Le code implémente l'alternance des couleurs de lignes à l'aide d'une opération modulo, améliorant ainsi la lisibilité des grands ensembles de données. Vous pouvez personnaliser davantage l'apparence à l'aide du guide de mise en forme des cellules IronXL ou appliquer la fonctionnalité de fusion de cellules pour étendre les colonnes d'en-tête.

La méthode AutoSizeColumn ajuste la largeur des colonnes en fonction du contenu, ce qui élimine les ajustements manuels après l'exportation. Ces options de formatage transforment une exportation de données basique en un document prêt à être présenté que les utilisateurs peuvent partager immédiatement. Consultez la section " Comment écrire des fichiers Excel avec IronXL " pour découvrir d'autres modèles de mise en forme et d'écriture de données.

Comment exporter vers plusieurs formats et ajouter des formules ?

IronXL va au-delà de l'exportation Excel de base, offrant des fonctionnalités telles que la prise en charge des formules, plusieurs feuilles de calcul et des formats de sortie alternatifs. L'exemple suivant illustre ces capacités :

using IronXL;

var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;

// (populate worksheet with DataGridView data as shown above)
int dataRowCount = 5; // Replace with actual dataGridView1.Rows.Count

// Add a SUM formula to calculate the total price column
worksheet.SetCellValue(dataRowCount + 2, 3, $"=SUM(D2:D{dataRowCount + 1})");

// Create a summary worksheet
var summarySheet = workbook.CreateWorkSheet("Summary");
summarySheet.SetCellValue(0, 0, "Total Products");
summarySheet.SetCellValue(0, 1, dataRowCount);

// Save in multiple formats
workbook.SaveAs("export.xlsx");
workbook.SaveAsCsv("export.csv");
workbook.SaveAsJson("export.json");
workbook.SaveAsXml("export.xml");

Console.WriteLine("Multi-format export completed!");
using IronXL;

var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
var worksheet = workbook.DefaultWorkSheet;

// (populate worksheet with DataGridView data as shown above)
int dataRowCount = 5; // Replace with actual dataGridView1.Rows.Count

// Add a SUM formula to calculate the total price column
worksheet.SetCellValue(dataRowCount + 2, 3, $"=SUM(D2:D{dataRowCount + 1})");

// Create a summary worksheet
var summarySheet = workbook.CreateWorkSheet("Summary");
summarySheet.SetCellValue(0, 0, "Total Products");
summarySheet.SetCellValue(0, 1, dataRowCount);

// Save in multiple formats
workbook.SaveAs("export.xlsx");
workbook.SaveAsCsv("export.csv");
workbook.SaveAsJson("export.json");
workbook.SaveAsXml("export.xml");

Console.WriteLine("Multi-format export completed!");
Imports IronXL

Dim workbook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet = workbook.DefaultWorkSheet

' (populate worksheet with DataGridView data as shown above)
Dim dataRowCount As Integer = 5 ' Replace with actual dataGridView1.Rows.Count

' Add a SUM formula to calculate the total price column
worksheet.SetCellValue(dataRowCount + 2, 3, $"=SUM(D2:D{dataRowCount + 1})")

' Create a summary worksheet
Dim summarySheet = workbook.CreateWorkSheet("Summary")
summarySheet.SetCellValue(0, 0, "Total Products")
summarySheet.SetCellValue(0, 1, dataRowCount)

' Save in multiple formats
workbook.SaveAs("export.xlsx")
workbook.SaveAsCsv("export.csv")
workbook.SaveAsJson("export.json")
workbook.SaveAsXml("export.xml")

Console.WriteLine("Multi-format export completed!")
$vbLabelText   $csharpLabel

IronXL prend en charge les formules Excel, ce qui vous permet d'ajouter des calculs directement aux fichiers exportés. L'exemple ci-dessus ajoute une formule SUM pour calculer automatiquement les totaux des colonnes. Créer plusieurs feuilles de calcul aide à organiser des exportations complexes, comme séparer les données détaillées des informations sommaires. Consultez le guide pratique d'IronXL sur la création de fichiers Excel pour découvrir d'autres modèles de gestion des feuilles de calcul.

La flexibilité du format est particulièrement précieuse pour les scénarios d'intégration. Si le format XLSX est la norme pour les fichiers Excel, l'exportation au format CSV offre une compatibilité universelle avec les systèmes de bases de données et les applications plus anciennes. Les formats JSON et XML facilitent l'échange de données avec les services web et les API. Vous pouvez également ouvrir des classeurs existants pour ajouter les données exportées à des feuilles de calcul existantes plutôt que de créer de nouveaux fichiers à chaque fois.

Comment se comparent les différents formats d'exportation ?

Fiche de calcul Excel montrant un inventaire de produits avec des colonnes pour l'ID du produit, le nom, la catégorie, le prix et le stock, avec un résultat de formule de somme de 1839,95 affiché dans la cellule D9.

Tableur Excel présentant une feuille de calcul "Résumé" avec "Total des produits : 5' dans les cellules A1 et B1, démontrant le résultat de l'exportation de données DataGridView vers Excel avec plusieurs feuilles de calcul.

Fiche de calcul Excel montrant des données d'inventaire de produits avec des colonnes pour l'ID de produit, le nom de produit, la catégorie, le prix et les quantités en stock, avec une somme de 1839,95 affichée dans la cellule D9.

Fichier JSON montrant les données d'un produit avec des champs pour l'ID du produit, le nom, la catégorie, le prix et le stock dans une interface d'éditeur de code.

Fichier XML montrant les données DataGridView exportées avec des informations sur les produits, notamment les identifiants, les noms, les catégories, les prix et les niveaux de stock, organisées dans des éléments Sheet.

Comment IronXL simplifie-t-il votre flux de travail de développement C# ?

Le principal avantage d'IronXL est l'élimination des dépendances à Microsoft Office. Votre application fonctionne de manière cohérente, qu'elle soit déployée sur un poste de travail de développeur, une machine client ou un conteneur Docker. Cette indépendance simplifie le déploiement et réduit les problèmes de support liés aux versions et installations d'Office. Le kit de développement logiciel Open XML de Microsoft est une autre alternative sans Office, bien qu'il nécessite beaucoup plus de code répétitif que l'API de plus haut niveau d'IronXL. Pour obtenir des conseils sur le développement multiplateforme .NET 10, la documentation Microsoft .NET couvre les plateformes cibles, les modèles de déploiement et les spécificités de Windows Forms.

Le design de l'API de la bibliothèque privilégie la simplicité. Contrairement à l'approche d'Interop basée sur COM qui nécessite une suppression soignée des objets, IronXL utilise des modèles .NET standard qui semblent naturels aux développeurs C#. La prise en charge multiplateforme signifie que les fonctionnalités d'exportation conçues pour Windows Forms peuvent être réutilisées dans les applications ASP.NET Core exécutées sur des serveurs Linux. Pour un aperçu complet des fonctionnalités disponibles, consultez la page des fonctionnalités IronXL .

Vous pouvez également importer des données d'Excel pour pré-remplir votre DataGridView avant l'exportation, créant ainsi des flux de travail aller-retour dans lesquels les utilisateurs chargent des données Excel, les modifient dans la grille et exportent le résultat vers Excel. Le guide sur la lecture des fichiers Excel couvre en détail l'aspect importation.

Lors du traitement de données sensibles, IronXL prend en charge la protection par mot de passe au niveau du classeur et au niveau de la feuille de calcul. La documentation IronXL décrit les options de sécurité pour les scénarios où les fichiers exportés doivent être protégés avant leur distribution.

Vue d'ensemble des caractéristiques d'une bibliothèque Excel montrant six catégories principales : Créer, Enregistrer et Exporter, Modifier les classeurs, Travailler avec les données, Sécuriser vos classeurs et Modifier les options de mise en page

Quelles sont les options de licence pour une utilisation en production ?

IronXL requiert une clé de licence valide pour les déploiements en production. Vous pouvez commencer par une licence d'essai gratuite qui débloque toutes les fonctionnalités pour évaluation. Consultez la page de licences IronXL pour obtenir tous les détails sur les niveaux disponibles, des licences pour développeur unique aux déploiements Enterprise illimités.

Appliquez la clé de licence à votre application avant d'utiliser toute fonctionnalité IronXL :

IronXL.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
IronXL.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
Imports IronXL

IronXL.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
$vbLabelText   $csharpLabel

Cette simple ligne active la bibliothèque pour toute la durée du processus d'application. Pour les applications et services web, définissez la clé de licence au démarrage afin que toutes les requêtes bénéficient de l'ensemble des fonctionnalités sans filigrane.

Options de licence IronXL présentant quatre niveaux : Lite (749 $), Plus (999 $), Professional (1 999 $) et Unlimited (3 999 $) avec des limites variables selon le développeur, le lieu et le projet

Pourquoi choisir IronXL pour l'exportation Excel en C# ?

L'exportation de données DataGridView vers Excel devient simple avec IronXL. La bibliothèque élimine les complexités traditionnelles d'Interop tout en offrant des capacités de formatage professionnel et plusieurs formats d'exportation. Son architecture adaptée aux conteneurs, ses dépendances minimales et sa compatibilité multiplateforme en font la solution idéale pour les flux de travail DevOps modernes.

La page d'accueil IronXL est le point de départ pour explorer l'intégralité de la bibliothèque. Qu'il s'agisse de créer des microservices, de déployer sur des clusters Kubernetes ou d'exécuter des fonctions sans serveur, IronXL s'intègre parfaitement aux pipelines CI/CD. Le guide pratique sur l'exportation vers Excel fournit des modèles supplémentaires pour différents scénarios d'exportation, et le guide sur l'ouverture de classeurs couvre la lecture et la modification de fichiers existants.

Commencez par une licence d'essai gratuite pour découvrir toutes les fonctionnalités. Les tutoriels et exemples de code IronXL vous aident à mettre en œuvre rapidement des solutions prêtes pour la production. Choisissez parmi des options de licence flexibles adaptées à vos besoins de déploiement, allant des licences individuelles pour développeurs aux déploiements Enterprise illimités. Pour toute question concernant la prise en main, le centre de documentation IronXL fournit des références API, des exemples de code et des conseils de dépannage.

Questions Fréquemment Posées

Quel est l'avantage d'utiliser IronXL pour exporter DataGridView vers Excel ?

IronXL simplifie le processus d'exportation du contenu de DataGridView vers Excel en éliminant le besoin d'Interop de Microsoft Office, réduisant les complexités de déploiement et supprimant les exigences de dépendance.

Comment IronXL améliore-t-il la distribution des applications ?

IronXL réduit les complexités de distribution des applications en ne nécessitant pas l'Interop de Microsoft Office, qui inclut souvent des dépendances supplémentaires pouvant compliquer le déploiement.

IronXL peut-il exporter des données DataGridView en VB.NET ?

Oui, IronXL fournit une solution pratique pour exporter les données DataGridView vers Excel en VB.NET, facilitant la gestion des données dans les applications d'affaires.

Quels sont les cas d'utilisation courants pour exporter DataGridView vers Excel ?

Les cas d'utilisation courants incluent la génération de rapports, la création de sauvegardes de données et le partage d'informations avec les parties prenantes dans un contexte d'affaires.

IronXL nécessite-t-il l'installation de Microsoft Excel sur le système ?

Non, IronXL ne nécessite pas l'installation de Microsoft Excel, car il fonctionne indépendamment d'Excel, simplifiant ainsi le processus de déploiement.

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

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi