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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 24
    Points : 31
    Points
    31
    Par défaut export datagridview vers excel
    bonjour,
    je cherche à exporter un datagridview vers Excel. j'ai trouvé une multitude d'exemples, tous incluant le using suivant :
    using Excel = Microsoft.Office.Interop.Excel;

    Je suis sous SharpDevelop version 4.1 et quand j'ajoute ce using, le compilateur m'affiche l'erreur suivante :
    "The type or namespace name 'Office' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) (CS0234) "

    quelqu'un a t il une idée du module qui me manque ?
    bonne soirée
    amicalement

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Novembre 2012
    Messages : 50
    Points : 75
    Points
    75
    Par défaut
    le using indique que tu utilise une référence mais pour utiliser une référence, il faut l'ajouter à ta solution. Je ne connais pas SharpDevelop mais il y a bien un endroit ou tu peux gérer les références du projet. si tu trouves il te faudra ajouter cette référence manquante afin de pouvoir l'utiliser.
    Pensez à utiliser les boutons et

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 24
    Points : 31
    Points
    31
    Par défaut
    merci pour la réponse. En cherchant du coup un peu mieux, voici l'adresse qui m'a sorti d'affaire (prendre la partie corrigée par Duang)

    http://www.c-sharpcorner.com/uploadf...el-in-C-Sharp/

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Novembre 2012
    Messages : 50
    Points : 75
    Points
    75
    Par défaut
    Du coup, tu fais comment ? car si tu ne rajoute pas la reference explicitement (au niveau du projet je veux dire), tu es obligé de réécrire la référence complète a chaque fois que tu utilise un objet excel ? si oui galère
    Pensez à utiliser les boutons et

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 24
    Points : 31
    Points
    31
    Par défaut voici le principe de mon code
    désolé, je n'avais pas vu que quelqu'un me demandais ma solution : la voici :

    ma datagridview s'appelle dgv


    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
    void B_Export_EXCELClick(object sender, EventArgs e)
    		    {
    			int i,j;
     
                // creating Excel Application
                Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();
                // creating new WorkBook within Excel application
                Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing);
                // creating new Excelsheet in workbook
                Microsoft.Office.Interop.Excel._Worksheet worksheet = null;
                // see the excel sheet behind the program
                //Funny
                app.Visible = true;
                // get the reference of first sheet. By default its name is Sheet1.
                // store its reference to worksheet
                //Fixed:(Microsoft.Office.Interop.Excel.Worksheet)
                worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets[1];
                worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.ActiveSheet;
                // changing the name of active sheet
                worksheet.Name = "nom de la feuille excel";
     
                // storing header part in Excel
                for (i = 1; i < dgv_ASL.Columns.Count + 1; i++)
                   {
                   worksheet.Cells[1, i] = dgv.Columns[i - 1].HeaderText;
                   }
                // storing Each row and column value to excel sheet
                for (i = 0; i < dgv.Rows.Count - 1; i++)
                   {
                   for (j = 0; j < dgv.Columns.Count; j++)
                      {
                      worksheet.Cells[i + 2, j + 1] = dgv.Rows[i].Cells[j].Value.ToString();
                      }
                   }
    			workbook = null;
                app = null;
                }

  6. #6
    Membre à l'essai Avatar de DocBS
    Homme Profil pro
    Ingénieur Recherche
    Inscrit en
    Mai 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Recherche
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 7
    Points : 12
    Points
    12
    Par défaut Autre solution d'export
    Parcourir les cellules dans des boucles est assez lent. On peut faire un copier coller, plus rapide.

    Voici l'exemple en VB. Je pense que c'est transposable à C#.
    ws est la feuille de calcul.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            Me.DataGridView1.SelectAll()
            Clipboard.SetDataObject(DataGridView1.GetClipboardContent)
            ws.Range("A1").Select()
            ws.PasteSpecial(Format:="HTML")

Discussions similaires

  1. Export de données DataGridview Vers Excel
    Par Le gris dans le forum C#
    Réponses: 3
    Dernier message: 28/06/2012, 10h38
  2. Export Datagridview vers Excel
    Par Pierro7825 dans le forum C#
    Réponses: 4
    Dernier message: 01/08/2011, 12h21
  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