Exporter le contenu d'un datagrid vers excel ou n importe quelle autre fichier tabulé

Soyez le premier à donner votre avis sur cette source.

Snippet vu 33 110 fois - Téléchargée 32 fois

Contenu du snippet

ce bout de code permet de recuperer tout le contenu d' une grille de datagrid sous .NET de le coller dans un richtextbox (propriété visible à false)et de l'enregistrer sous un fichier avec les extention xls,txt ou rtf pour que ensuite si on double clique dessu excel l'ouvre comme il faut.

Source / Exemple :


Dim i
        Dim iCnt As Integer
        Dim tamponxls As String
        tamponxls = vbNullString
        iCnt = Me.BindingContext(DsAuthors1, tablename).Count
        For i = 0 To iCnt
            If i = iCnt Then Exit For
            tamponxls = tamponxls & (Me.DataGrid1.Item(i, 1)) & vbTab
            tamponxls = tamponxls & (Me.DataGrid1.Item(i, 2)) & vbTab
            tamponxls = tamponxls & (Me.DataGrid1.Item(i, 3)) & vbTab
            tamponxls = tamponxls & (Me.DataGrid1.Item(i, 4)) & vbTab
            tamponxls = tamponxls & (Me.DataGrid1.Item(i, 5)) & vbTab
            tamponxls = tamponxls & (Me.DataGrid1.Item(i, 6)) & vbTab
            tamponxls = tamponxls & (Me.DataGrid1.Item(i, 7)) & vbTab
            tamponxls = tamponxls & (Me.DataGrid1.Item(i, 8)) & vbTab & vbCr
        Next i
        RichTextBox1.Text = tamponxls
        ' Displays a SaveFileDialog so the user can save the Image
        ' assigned to Button2.
        Dim saveFileDialog1 As New SaveFileDialog
        saveFileDialog1.Filter = "Excel|*.xls|Texte|*.txt|Richtext|*.rtf"
        saveFileDialog1.Title = "Sauver le fichier exporter sous ?"
        'saveFileDialog1.ShowDialog()

        If saveFileDialog1.ShowDialog() = DialogResult.OK Then
            RichTextBox1.SaveFile(saveFileDialog1.FileName, _
            RichTextBoxStreamType.PlainText)
        End If

A voir également

Ajouter un commentaire

Commentaires

Messages postés
5
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
25 mars 2011

Alors moi j'aimerais relancé ce post vieux de "2ans".
Je comprend tout ce que tu fais mais je n'arrive pas à utiliser :

Dim DsAuthors1 As DataSet
Dim tablename
tamponxls = vbNullString
iCnt = Me.BindingContext(DsAuthors1, tablename).Count

tablename doit etre declaré en quoi ?
Et moi je dispose de 5 colonne mais de 15 lignes alors des que je veux intervertir les i avec les Integer ça me donne des erreurs :/

Merci
Messages postés
467
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010

:-)
Messages postés
3
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 août 2009

Je donne 7/10
Messages postés
467
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010

oms7 : Si mon autre source te convient , peut tu lui mettre une note s'il te plait ?
Messages postés
3
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 août 2009

Merci encore, je vais essayer ton nouveau code sur VS2005 et je t'enverrai des commentaires.
Afficher les 37 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.