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

C# Discussion :

Export Datagridview vers Excel


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Export Datagridview vers Excel
    Bonsoir tout le monde,

    J'essaye d'exporter le contenu de mon datagridview vers Excel et il me pete cette
    erreur :

    L'exception NullReferenceException n'a pas été gérée
    voici le code :

    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
            public void BtExec_Click(object sender, EventArgs e)
            {
                for (int i = 0; i < DTGridSQL.Rows.Count; i++)
                {
                    DataGridViewRow row = DTGridSQL.Rows[i];
                    for (int j = 0; j < row.Cells.Count; j++)
                    {
                        Excel.Cells[i + 1, j + 1] = row.Cells[j].ToString(); // c'est cette ligne qui leve l'exception
                    }
                }
     
                Excel.ActiveWorkbook.SaveCopyAs(fichier);
                Excel.ActiveWorkbook.Saved = true;
                Excel.Visible = true;
            }
    quelqu'un aurait une idee de ce que j'aurais pu oublier de gérer svp?

    Merci a vous parce que là je galère....

    Bonne soirée

  2. #2
    Membre averti
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    Mai 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 313
    Points : 301
    Points
    301
    Par défaut
    Bonjour,
    As-tu essaye tout simplement d'utiliser un bloc "try...catch"?

    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
    public void BtExec_Click(object sender, EventArgs e)
            {
                try
                {
                    for (int i = 0; i < DTGridSQL.Rows.Count; i++)
                    {
                        DataGridViewRow row = DTGridSQL.Rows[i];
                        for (int j = 0; j < row.Cells.Count; j++)
                        {
                            Excel.Cells[i + 1, j + 1] = row.Cells[j].ToString(); 
                        }
                    }
     
                    Excel.ActiveWorkbook.SaveCopyAs(fichier);
                    Excel.ActiveWorkbook.Saved = true;
                    Excel.Visible = true;
                }
     
                catch (NullReferenceException  e)
                { 
                   //Ton code quand une exception est levee
                }
     
            }

  3. #3
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    Quelle instruction à renvoyer cette exception ?

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Salut Gurdil le nain,

    C'est vrai que j'ai oublié ce block.... il me renvoie
    la reference d'objet n'est pas définie a une instance d'un objet
    J'ai oublié d'instancier quelque chose mais faut que je trouve quoi...J'ai essayé de trouver avec l'exécution pas à pas mais c'est pas flagrant pour
    moi..

  5. #5
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    Bonjour,

    Essaye de débugger en pas à pas et en décomposant ta ligne. J'ai l'impression que ta ligne "row.Cells[j]" renvoie null et que l'exception arrive parce que tu utilises ToString() dessus.
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

Discussions similaires

  1. export datagridview vers excel
    Par dgkourou dans le forum C#
    Réponses: 5
    Dernier message: 24/06/2014, 11h56
  2. Export de données DataGridview Vers Excel
    Par Le gris dans le forum C#
    Réponses: 3
    Dernier message: 28/06/2012, 10h38
  3. Exporter le contenu d'un DataGridView vers Excel
    Par David Fouejio dans le forum Windows Forms
    Réponses: 7
    Dernier message: 31/05/2010, 10h50
  4. Problème d'export de datagridview vers excel
    Par holdboy dans le forum C#
    Réponses: 2
    Dernier message: 15/06/2009, 21h54
  5. Exporter une dataGridView vers Excel
    Par drayif dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/08/2007, 17h45

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