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 :

renvoyer un controle DataGridView vers un fichier excel


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut renvoyer un controle DataGridView vers un fichier excel
    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
    Imports Microsoft.Office.Interop
     
    Public Class Form1
     
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim c, j As Integer
            Dim xl As New Excel.Application
     
            xl.Visible = True
            xl.Workbooks.Add()
     
            For c = 0 To DataGridView1.Columns.Count - 1
                xl.Cells(c + 1, 1) = DataGridView1.Columns(c).Name
            Next
            j = 0
            For l As Integer = 0 To Datagridview1.rows.count - 1
                For c = 0 To Datagridview1.rows.count - 1
                    xl.cells(l + 1, j + 1) = Datagridview1.rows(l).cells(c).value
                Next c
            Next l
     
        End Sub
    End Class

    il ne s'exécute pas il m'affiche
    L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection. Nom du paramètre : index
    sur la ligne du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xl.cells(l + 1, j + 1) = Datagridview1.rows(l).cells(c).value
    et le fichier excel sorti,ne comtient que la donnée de la première cellule du DataGridView

    Et Merci d'avance

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Hello,
    c'est une chose qui revient tout le temps mais pensé au balise code, c'est plus lisible pour ceux qui veulent aider !!!
    voir REGLEMENT SUR BALISE CODE

    Pour ton problème, je pencherais pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xl.cells(l + 1, c + 1) = Datagridview1.rows(l).cells(c).value
    au lieux de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xl.cells(l + 1, j + 1) = Datagridview1.rows(l).cells(c).value
    ton j n'est jamais incrémenté, donc tu mettra tjs dans la même colonne dans ton excel.

    ET pour le problème d'index :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For c = 0 To Datagridview1.Columns.Count - 1
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For c = 0 To Datagridview1.rows.count - 1
    car tu boucles deux fois sur les row, et ca c'est pas normale...
    une fois sur les row et une fois sur les colonnes c'est plus logique
    Bien à toi

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    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
     
        Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim c, j As Integer
            Dim xl As New Excel.Application
     
            xl.Visible = True
            xl.Workbooks.Add()
     
            For c = 0 To DGProduit.Columns.Count - 1
                xl.Cells(1, c + 1) = DGProduit.Columns(c).Name
            Next
            j = 0
            For l As Integer = 0 To DGProduit.Rows.Count - 1
                For c = 0 To DGProduit.Columns.Count - 1
                    xl.Cells(l + 2, c + 1) = DGProduit.Rows(l).Cells(c).Value
                Next c
            Next l
     
        End Sub
    Juste qlq modification a fin d'avoir le fichier excel avec l'entete et complé car avec l'ancian code tu est entrin d'écrasé l'entaite

Discussions similaires

  1. [Débutant] Exporter une datagridview vers un fichier Excel
    Par WIEM7 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 26/04/2012, 15h46
  2. renvoyer la sortie standard vers un fichier
    Par batotoba dans le forum ANT
    Réponses: 1
    Dernier message: 05/09/2006, 10h06
  3. [Excel] Exporter un tableau d'une page php vers un fichier Excel
    Par griese dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 04/07/2006, 10h50
  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