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 :

Remplir un combobox avec des données excel


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Par défaut Remplir un combobox avec des données excel
    Bonjour, je suis débutant en programmation C#.
    Je voudrais remplir les items d'un combobox avec des données récupérées dans un fichier Excel.
    Pour le moment mon code est le suivant mais ça ne fonctionne pas:
    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
     //méthode permettant de sélectionner le fichier sur lequel on va réaliser le traitement
            private void buttonDataSource_Click(object sender, EventArgs e)// ce qu'il se passe quand on clique sur le bouton de recherche
            {
                string fichier;
                string connectionProvider;
                string requete;
     
                OpenFileDialog ofn = new OpenFileDialog ();// ouvrir une fenêtre de recherche et de sélection de fichier
                ofn.Filter = "Fichiers Excel (*.xls;*.xlsx)|*.xls;*.xlsx";// filtre permettant de choisir quel type de fichier on souhaite afficher
                ofn.Title = "Choix du fichier de données";// titre de la fenêtre
                while (true)
                    if (ofn.ShowDialog() == DialogResult.OK)// ce qu'il se passe quand l'utilisateur clique sur Ouvrir
                    {
                        textBoxDataSource.Enabled = true;// dévérouille la zone de texte
                        textBoxDataSource.Text = ofn.FileName;// récupère le chemin du fichier et l'inscrit dans la zone de texte
                        textBoxDataSource.Enabled = false;// revérouille la zone de texte
                        return;// ferme la fenêtre de recherche
                    }
                    else// ce qu'il se passe quand il fait autre chose
                    {
                        return;// ferme la fenêtre de recherche
                    }
     
                fichier = textBoxDataSource.Text;
                connectionProvider = "provider=Microsoft.Jet.OLEDB.4.0;data source=fichier;Extended Properties=Excel 8.0";
                requete = "select * from [Feuil1$]";
     
                DataSet ds;
                OleDbDataAdapter ThisCommand;
     
                ThisCommand = new OleDbDataAdapter(requete, new OleDbConnection(connectionProvider));
                ds = new DataSet();
                ThisCommand.Fill(ds);
                foreach (DataColumn c in ds.Tables[0].Columns)
                comboBoxY.Items.Add(c);
            }
    Ce code s'exécute lorsque je clique sur un bouton de recherche de fichier.
    La partie recherche du fichier fonctionne très bien mais c'est après que ça ne marche plus.
    Je vous met une image de mon interface en copie, peut-être que ça vous aidera.
    Images attachées Images attachées  

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Par défaut
    ça ne repond pas à ta question,
    mais juste une tite remarque:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    textBoxDataSource.Enabled = true;// dévérouille la zone de texte
    textBoxDataSource.Text = ofn.FileName;// récupère le chemin du fichier et l'inscrit dans la zone de texte
    textBoxDataSource.Enabled = false;// revérouille la zone de texte
    je pense que tu n'as pas besoin de déverrouiller/reverrouillier ta textBox,
    le Enabled à false, la verrouille pour l'utilisateur,
    mais tu peux toujours la modifier par le code...

    voilà, ça pourra toujours d'aider...
    (d'avoir 2 lignes de code à taper en moins quand tu voudras modifier le contenu d'une textbox)

    bon courage pour la suite,
    moi, je ne m'y connais pas en récupération de données dans excel...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Par défaut
    Merci pour ta remarque.
    J'avais déjà remarqué cette optimisation et en effet elle marche.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Par défaut
    ok!

    sinon, pour essayer de t'aider,
    quand tu dis :
    La partie recherche du fichier fonctionne très bien mais c'est après que ça ne marche plus.
    ça ne marche plus comment?
    - ça plante?
    - ça lance une exception? laquelle?
    - ça fait rien du tout?
    - ...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Par défaut
    Ca ne fait rien du tout, l'application se lance correctement, je peux sélectionner mon fichier mais après quand normalement je clique sur mon combobox, à l'intérieur il devrait y avoir les noms des colonnes de mon fichier excel sélectionné. Mais là rien.
    Visual Studio ne me génère aucune erreur et aucun avertissement.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Par défaut
    tu as essayé le pas à pas pour voir si ton DataSet contient bien les données de ta feuille excel?

    et puis ça m'étonne que visual accepte de mettre des DataColumn dans un combobox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    foreach (DataColumn c in ds.Tables[0].Columns)
    comboBoxY.Items.Add(c);
    ...

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

Discussions similaires

  1. Remplir un formulaire WORD avec des données Excel
    Par Giant25 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/02/2015, 17h31
  2. Remplir Combobox Avec des données Access
    Par hackman61 dans le forum VB.NET
    Réponses: 1
    Dernier message: 23/03/2011, 19h01
  3. Remplir un combobox avec des données en dur
    Par hotsizzle dans le forum Windows Forms
    Réponses: 4
    Dernier message: 15/10/2008, 19h16
  4. [MySQL] Remplir un array() avec des données issues d'une bdd
    Par fichtre! dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/12/2006, 18h03
  5. [VBA-A]Remplir une textbox avec des données de tables.
    Par cuicui08 dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/03/2006, 11h28

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