IRONSOFTWAREHOME
UTILISATION D'IRONXL

Comment exporter Datagridview vers Excel en C#

Curtis Chau
Curtis Chau
Updated: 28 juin 2026

Ce didacticiel fournit un guide complet sur la façon d'exporter des données d'un DataGridView contrôle dans une application Windows Forms vers un fichier Excel en utilisant la bibliothèque IronXL en C#. Notre objectif sera de créer une expérience fluide pour les débutants cherchant à intégrer les fonctionnalités de Microsoft Excel dans leurs projets C#.

How to Export DataGridView to Excel in C#

  1. Créez un projet Windows Forms C# dans Visual Studio.
  2. Installez la bibliothèque Excel en utilisant le gestionnaire de packages NuGet.
  3. Créez un DataGridView et un bouton dans l'interface utilisateur du Formulaire Windows.
  4. Attachez une source de données au DataGridView.
  5. Appliquez la logique d'exportation de données dans le gestionnaire d'événements de clic du bouton.

Premiers pas avec IronXL

IronXL est une bibliothèque robuste qui simplifie le processus de travail avec des documents Excel dans les applications .NET Framework. Elle vous permet d'exporter de grands fichiers Excel, de gérer des sources de données complexes et de fournir un support étendu pour la manipulation de fichiers Excel .NET sans avoir besoin de la bibliothèque d'objets Microsoft Excel. Configurons notre projet.

Configuration de votre projet

1. Créer une nouvelle application Windows Forms

Ouvrez Visual Studio et créez une nouvelle application Windows Forms. Cela sera la base de notre projet où nous mettrons en œuvre la fonctionnalité pour exporter les données de DataGridView vers un fichier Excel.

Comment exporter DataGridView vers Excel en C# : Figure 1 - Création d'une nouvelle application Windows Forms dans Visual Studio

2. Installer IronXL

IronXL peut être facilement ajouté à votre projet. Dans Visual Studio, allez à l'option 'Gérer les packages NuGet', recherchez IronXL et installez-le. Cette action gèrera toutes les dépendances requises pour exporter DataGridView vers Excel en C#.

Comment exporter DataGridView vers Excel en C# : Figure 2 - Installation de la bibliothèque IronXL via le Package Manager NuGet

3. Préparer l'interface utilisateur

Ajoutez un contrôle DataGridView à votre formulaire. Ce contrôle contiendra les données que nous prévoyons d'exporter. Ajoutez également un bouton pour déclencher le processus d'exportation. Vous pouvez le nommer 'Exporter vers Excel' ou quelque chose de similaire.

Mettre en œuvre la fonctionnalité d'exportation

Dans cette section, nous expliquerons les détails de la programmation de la fonctionnalité qui vous permet d'exporter des données d'un DataGridView dans une application Windows Forms vers un document Excel à l'aide de IronXL.

Construire l'application

Tout d'abord, vous devez ajouter un contrôle DataGridView à votre formulaire. Ce contrôle est le composant principal où vos données seront affichées avant d'être exportées. Vous pouvez facilement l'ajouter en faisant glisser un DataGridView depuis la boîte à outils de Visual Studio sur votre formulaire. Nous pouvons également ajouter un bouton pour exporter les données de DataGridView vers des fichiers Excel.

Comment exporter DataGridView vers Excel en C# : Figure 3 - Ajout d'un bouton pour exporter les données de DataGridView vers un fichier Excel

L'étape suivante consiste à charger les données dans le DataGridView. Ces données peuvent provenir de diverses sources, telles qu'un DataTable ou un DataSet. Si vous commencez, vous pourriez vouloir créer un nouveau DataSet ou DataTable par programmation et le remplir de données d'exemple pour voir comment cela fonctionne. Vous pouvez également importer des données à partir d'une source externe. L'essentiel ici est de lier votre source de données au DataGridView, ce qui lie effectivement vos données à la grille. Une fois vos données liées au DataGridView, vous les verrez affichées dans la grille sur votre formulaire.

private void BindDataToDataGridView()
{
    // Create a new DataTable.
    DataTable dataTable = new DataTable();
    // Define columns for the DataTable.
    dataTable.Columns.Add("Employee ID", typeof(int));
    dataTable.Columns.Add("Name", typeof(string));
    dataTable.Columns.Add("Department", typeof(string));
    dataTable.Columns.Add("Joining Date", typeof(DateTime));
    // Add sample data to the DataTable.
    for (int i = 1; i <= 25; i++)
    {
        dataTable.Rows.Add(i, "Employee " + i, "Department " + (i % 5 + 1), DateTime.Now.AddDays(-i * 15));
    }
    // Bind the DataTable to the DataGridView.
    dataGridView1.DataSource = dataTable;
}

Gérer l'événement de clic du bouton

Notre principal point d'interaction avec l'utilisateur sera un bouton dans notre Formulaire Windows. Ce bouton, lorsqu'il est cliqué, initie le processus d'exportation. Voici comment configurer cette interaction:

  • Dans votre Formulaire Windows, vous devriez avoir un bouton dédié à l'exportation des données de DataGridView.
  • Ce bouton a une méthode de gestionnaire d'événements dans votre code C#. Cette méthode est déclenchée lorsque l'utilisateur clique sur le bouton.
private void btnExport_Click(object sender, EventArgs e)
{
    // Code to export data will go here
}

Exporter des données à partir de DataGridView

Pour exporter les données de DataGridView, nous devons d'abord référencer l'espace de noms IronXL:

using IronXL;

Dans le gestionnaire d'événements, la première étape consiste à initialiser un nouveau classeur et une nouvelle feuille de calcul à l'aide de IronXL. C'est là que nos données du DataGridView seront transférées.

  • Un objet WorkBook représente l'ensemble du fichier Excel.
  • Un WorkSheet dans le classeur est comme une page ou un onglet individuel dans un fichier Excel.

Ici, nous créons un classeur puis y ajoutons une feuille de calcul. La feuille de calcul est nommée 'ExportedData', mais vous pouvez choisir n'importe quel nom qui convient au contexte de votre application.

WorkBook workbook = WorkBook.Create();
WorkSheet worksheet = workbook.CreateWorkSheet("ExportedData");

Remplir la feuille Excel

L'étape suivante consiste à parcourir les lignes et colonnes de votre DataGridView et copier les données de chaque cellule dans la cellule correspondante de la feuille Excel.

  • La boucle extérieure progresse à travers chaque ligne, tandis que la boucle intérieure traverse chaque colonne de la ligne respective.
  • Nous attribuons la valeur de chaque cellule du DataGridView à la cellule correspondante de la feuille Excel. Cela se fait en utilisant les indices i (pour les lignes) et j (pour les colonnes).
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
    for (int j = 0; j < dataGridView1.Columns.Count; j++)
    {
        // Convert row and column index to Excel cell address format
        string cellAddress = ConvertToCellAddress(i, j);
        worksheet[cellAddress].Value = dataGridView1.Rows[i].Cells[j].Value.ToString();
    }
}

Pour convertir les indices de ligne et de colonne en une adresse de cellule Excel, vous pouvez utiliser une méthode d'assistance comme celle-ci:

private string ConvertToCellAddress(int row, int column)
{
    // Columns in Excel are labeled as A, B, C, ..., Z, AA, AB, ..., etc.
    // The following code converts a column index to this format.
    string columnLabel = "";
    while (column >= 0)
    {
        columnLabel = (char)('A' + column % 26) + columnLabel;
        column = column / 26 - 1;
    }
    // Rows in Excel are labeled as 1, 2, 3, ..., n
    // Adding 1 because Excel is 1-based and our loop is 0-based.
    string rowLabel = (row + 1).ToString();
    return columnLabel + rowLabel;
}

Sauvegarde du fichier Excel

Une fois toutes les données transférées, l'étape suivante consiste à sauvegarder ce classeur en tant que fichier Excel. Cette étape crée un fichier Excel sur votre système dans le chemin spécifié.

workbook.SaveAs("DataGridViewExport.xlsx");
MessageBox.Show("Data exported successfully!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);

Gestion des erreurs

Dans tout processus d'exportation de données, la gestion des exceptions est essentielle pour assurer la stabilité de l'application. Envelopper la logique d'exportation dans un bloc try-catch assure que tout problème pendant l'exportation (comme les autorisations d'accès aux fichiers, les problèmes de format de données, etc.) est attrapé et géré gracieusement.

try
{
    // Export logic
}
catch (Exception ex)
{
    MessageBox.Show("An exception occurred: " + ex.Message);
}

Sortie

Une fois que nous exécutons le programme, cette interface apparaîtra:

Comment exporter DataGridView vers Excel en C# : Figure 4 - Formulaire de sortie du code précédent

Ici, vous pouvez voir que les données sont affichées dans le DataGridView. Maintenant, cliquez sur le bouton Exporter. Cela exportera les données du DataGridView vers le fichier Excel.

Comment exporter DataGridView vers Excel en C# : Figure 5 - Message d'exportation réussie

Ici, vous pouvez voir qu'une boîte de message apparaît, et les données sont exportées vers le fichier Excel. Voici le fichier Excel de sortie:

Comment exporter DataGridView vers Excel en C# : Figure 6 - Le fichier Excel de sortie résultant de l'exportation du formulaire précédent

Conclusion

En suivant ce guide, vous avez maintenant un outil de base mais puissant pour exporter les données de DataGridView vers un fichier Excel en utilisant C# et IronXL. Cette fonctionnalité est cruciale pour les applications qui nécessitent une analyse de données, des rapports, ou simplement le transfert de données entre différents formats. Rappelez-vous, expérimenter avec différentes fonctionnalités du contrôle DataGridView et de la bibliothèque IronXL peut conduire à des implémentations plus personnalisées et avancées.

IronXL offre un essai gratuit que vous pouvez utiliser pour explorer ses fonctionnalités. Les licences commencent à partir de $999, ce qui est un investissement rentable pour les professionnels et les organisations cherchant une solution fiable et efficace pour la manipulation des fichiers Excel dans des applications .NET.

Votre voyage ne s'arrête pas ici. Continuez à explorer plus de fonctionnalités d'IronXL et d'autres moyens d'améliorer vos applications Windows Forms. Bonne programmation !

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise