IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

DGW export dans fichier excel


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 74
    Points : 51
    Points
    51
    Par défaut DGW export dans fichier excel
    bonjour
    voila je me trouve devant un problème je voudrai exporter des données affichée a l écran dans un datagridview dans un fichier excel et j ai pas la moindre idée comment m y prendre merci de vos conseil ou aide

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 317
    Points : 560
    Points
    560
    Par défaut
    Bonjour,
    voici une méthode que j'avais fait à une certaine époque qui devrait t'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
     
     public static void ExportADataGridViewInExcelFile(DataGridView datagrid, string FileName)
            {
                Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
                if (xlApp != null)
                {
                    Microsoft.Office.Interop.Excel.Workbook wb = (Microsoft.Office.Interop.Excel.Workbook)(xlApp.Workbooks.Add(Missing.Value));
                    Microsoft.Office.Interop.Excel.Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.ActiveSheet;
                    object misValue = System.Reflection.Missing.Value;
     
                    int i = 1;
                    foreach (DataGridViewColumn col in datagrid.Columns)
                    {
                        if (col.Visible)
                        {
                            ws.Cells[1, col.DisplayIndex + 1] = col.HeaderText;
                            i++;
                        }
                    }
     
                    Microsoft.Office.Interop.Excel.Range range = ws.get_Range(ws.Cells[1, 1], ws.Cells[1, i]);
                    range.Font.Bold = true;
                    int k = 2;
                    foreach (DataGridViewRow row in datagrid.Rows)
                    {
                        foreach (DataGridViewColumn col in datagrid.Columns)
                        {
                            if (col.Visible)
                            {
                                ws.Cells[k, col.DisplayIndex + 1] = row.Cells[col.Index].Value;
                            }
                        }
                        k++;
                    }
     
                    wb.SaveAs(FileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
                    wb.Close(true, misValue, misValue);
     
                    xlApp.Workbooks.Close();
                    xlApp.Quit();
                    if (range != null) { Marshal.ReleaseComObject(range); }
                    if (ws != null) { Marshal.ReleaseComObject(ws); }
                    if (wb != null) { Marshal.ReleaseComObject(wb); }
                    if (xlApp != null) { Marshal.ReleaseComObject(xlApp); }
     
                    range = null;
                    ws = null;
                    wb = null;
                    xlApp = null;
                    GC.Collect();
                    MessageBox.Show("Exportation terminée.", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else MessageBox.Show("Erreur.\nVeuillez vérifier que Excel est installé sur votre machine.", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
    Il faut par contre bien veiller à ajouter les références pour Excel (Microsoft.Office.Interop.Excel si mes souvenirs sont bons)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. exporter un fichier Excel dans un tableau de DB
    Par zilis dans le forum VB.NET
    Réponses: 3
    Dernier message: 29/10/2012, 17h32
  2. [AC-2007] exportation donnée dans fichier excel
    Par popofpopof dans le forum VBA Access
    Réponses: 11
    Dernier message: 14/06/2011, 22h04
  3. MARCO pour exporter table dans fichier EXCEL
    Par minaprs dans le forum Macro
    Réponses: 1
    Dernier message: 16/04/2009, 18h21
  4. [CSV] exporter un fichier excel ou word dans une BDD SQL
    Par kimcharlene dans le forum Langage
    Réponses: 5
    Dernier message: 07/04/2008, 18h28
  5. Exporter résultats dans fichier excel [forms 6i]
    Par OUALASS dans le forum Forms
    Réponses: 4
    Dernier message: 30/05/2006, 20h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo