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

VB.NET Discussion :

Exporter un DataGrid vers un fichier EXCEL


Sujet :

VB.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 87
    Points : 70
    Points
    70
    Par défaut Exporter un DataGrid vers un fichier EXCEL
    Salut,

    j'ai une intreface graphique sous visual basic 2010 express contenant un DataGrid que je voudrai exporter vers un fichier EXCEL. comment faire?

    Remerciements.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Points : 1 116
    Points
    1 116
    Par défaut
    on peut faire un copier coller

    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
    sub Export_DatagridView_to_Excel
     
        Dim objXL As New Microsoft.Office.Interop.Excel.Application
        Dim wbXL As Excel.Workbook
        Dim wsXL As New Excel.Worksheet
     
         wbXL = objXL.Workbooks.Open("C:\chemin.xls", , True)
     
         objXL.Visible = True
         wsXL.Range("A1").Select()
     
         copy_ClipBord()
         wsXL.PasteSpecial(NoHTMLFormatting:=True)
     
     
         objXL = Nothing
         wsXL  = Nothing
     
    end sub

    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
        Sub copy_ClipBord()
            Form1.DataGridView1.SelectAll()
     
            Form1.DataGridView1.ClipboardCopyMode = _
            DataGridViewClipboardCopyMode.EnableWithoutHeaderText
     
     
            If Form1.DataGridView1.GetCellCount( _
           DataGridViewElementStates.Selected) > 0 Then
     
                Try
     
                    ' Add the selection to the clipboard.
                    Clipboard.SetDataObject( _
                        Form1.DataGridView1.GetClipboardContent())
     
                Catch ex As System.Runtime.InteropServices.ExternalException
     
                End Try
     
            End If
        End Sub

  3. #3
    Membre du Club Avatar de Adakhum
    Homme Profil pro
    Ingénieur Mécanique Numérique
    Inscrit en
    Mars 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Numérique

    Informations forums :
    Inscription : Mars 2014
    Messages : 125
    Points : 58
    Points
    58
    Par défaut
    Je ne connaissais pas direct le copier coller gnain, pas mal ! je m'en servirai un jour je pense ^^

    Moi j'aurai essayer un truc du genre qui peut marcher mais plus long :

    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
    Public Sub BT_exportdata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_exportData.Click
            Dim cell, ligne As Integer
            Dim xl As New Excel.Application
     
            xl.Visible = True
            xl.Workbooks.Add()
     
            Try
                For ligne = 0 To DGV.RowCount - 1
                    For cell = 0 To DGV.ColumnCount - 1
                        xl.Cells(1, cell + 1) = DGV.Columns(cell).HeaderText
                        xl.Cells(ligne + 2, cell + 1) = DGV.Rows(ligne).Cells(cell).Value
                        xl.Cells(ligne + 3, cell + 1) = DGV.Rows(ligne).Cells(cell).Value
                    Next cell
                Next ligne
     
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
    à modifier selon où tu veux que ça apparaisse dans ton excel ...
    Détaillez votre question et vous obtiendrez une réponse précise ! (c'est un peu magique)
    Et si vous êtes fou de voyage bienvenue ici : http://lenormanditinerant.blogspot.fr

  4. #4
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Points : 1 116
    Points
    1 116
    Par défaut
    Cela fonctionne aussi mais beaucoup plus long car le programme doit faire aller et retour pour chaque cellule
    Tandis que copier coller on le fait juste une fois.

  5. #5
    Membre du Club Avatar de Adakhum
    Homme Profil pro
    Ingénieur Mécanique Numérique
    Inscrit en
    Mars 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Numérique

    Informations forums :
    Inscription : Mars 2014
    Messages : 125
    Points : 58
    Points
    58
    Par défaut
    oui mais par contre personellement j'avais besoin de quelques cellules par ci par là, à mettre par ci par là dans excel donc j'aimais bien. Ta méthode reste incontestablement plus rapide pour les grandes tables !
    Détaillez votre question et vous obtiendrez une réponse précise ! (c'est un peu magique)
    Et si vous êtes fou de voyage bienvenue ici : http://lenormanditinerant.blogspot.fr

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

Discussions similaires

  1. [Débutant] Exporter le contenu d'un datagrid vers un fichier Excel
    Par jihenjiji dans le forum VB.NET
    Réponses: 1
    Dernier message: 21/04/2014, 20h52
  2. [Débutant] exporter les donnes d'un datagrid vers un fichier excel
    Par bila20mina dans le forum VB.NET
    Réponses: 0
    Dernier message: 10/04/2012, 15h45
  3. [VB.NET] Exporter un datagrid vers Word ou Excel
    Par olbi dans le forum Windows Forms
    Réponses: 2
    Dernier message: 26/09/2006, 12h52
  4. export d'access vers un fichier excel prédéfini
    Par kuhnden dans le forum Access
    Réponses: 3
    Dernier message: 05/01/2006, 22h08
  5. [Excel] PHP-MYSQL exportation de données vers un fichier excel
    Par toure32 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 19/10/2005, 19h29

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