Export DataGridView vers Excel

Dernière mise à jour le 25/03/16

Présentation


La programmation qui va suivre est une amélioration du transfert de données. En effet nous allons utiliser un DataGridView. Afin d’avoir un aperçu visuel et « vivant » une petite vidéo de démonstration disponible dans la rubrique « prototype en vidéo ». Avec un simple clic sur le bouton le DataGrid view export toutes ces données dans le fichier Excel.
 




 

Programmation en C#


Attention!! il ne faut pas oublier d’ajouter la référence « Microsoft Excel », et ensuite il ne restera plus qu’à copier et coller la programmation en C# ci-dessous.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;
using Excel = Microsoft.Office.Interop.Excel; //importer la référence office 

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {

            var ExcelApp = new Excel.Application();
            var wb = ExcelApp.Workbooks.Add(1); // déclaration variable pour ouvrir un fichier Excel - WorkBooks
            var ws = wb.Worksheets[1]; // déclaration variable WorkSheets - [1] = sheets 1 / [2] = sheets 2 / ... 

            ExcelApp.Visible = true;

            dataGridView1.ColumnCount = 3; // ajouter 3 colonnes

            dataGridView1.Columns[0].Name = "Colonne A"; // Titre colonne A
            dataGridView1.Columns[1].Name = "Colonne B"; // Titre colonne A
            dataGridView1.Columns[2].Name = "Colonne C"; // Titre colonne A

            ws.Cells[1, 1] = dataGridView1.Columns[0].Name; // On met le titre dans ligne 1 colonne 1 
            ws.Cells[1, 2] = dataGridView1.Columns[1].Name; // On met le titre dans ligne 1 colonne 2 
            ws.Cells[1, 3] = dataGridView1.Columns[2].Name; // On met le titre dans ligne 1 colonne 3 
        }
    }
}

Autre exemple
L’exemple ci-dessous montre qu’il est possible en changeant quelque ligne du programme de pouvoir ouvrir un fichier Excel en fonction de son chemin. Remplacer la procédure « Private void button1_click(object sender, EventArgs e) par la procédure ci-dessous.

private void button1_Click(object sender, EventArgs e)
        {

            var ExcelApp = new Excel.Application();
            var wb = ExcelApp.Workbooks.Open(@"C:\Users\Julien\Desktop\Classeur1.xlsx"); // déclaration variable pour ouvrir le classeur 
            var ws = wb.Worksheets[1]; // déclaration variable WorkSheets - [1] = sheets 1 / [2] = sheets 2 / ... 

            ExcelApp.Visible = true;

            dataGridView1.ColumnCount = 3; // ajouter 3 colonnes

            dataGridView1.Columns[0].Name = "Colonne A"; // Titre colonne A
            dataGridView1.Columns[1].Name = "Colonne B"; // Titre colonne A
            dataGridView1.Columns[2].Name = "Colonne C"; // Titre colonne A

            ws.Cells[1, 1] = dataGridView1.Columns[0].Name; // On met le titre dans ligne 1 colonne 1 
            ws.Cells[1, 2] = dataGridView1.Columns[1].Name; // On met le titre dans ligne 1 colonne 2 
            ws.Cells[1, 3] = dataGridView1.Columns[2].Name; // On met le titre dans ligne 1 colonne 3 
        }

Prototype en vidéo


 

Vidéo cela ne change pas!!

Historiques


25/03/16
– Première mise à disposition

🛒 En lien avec ce tutoriel

Boostez votre productivité avec Excel installé.

👉 Voir Microsoft Office Home & Business 2021 sur Amazon