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:
Ce code s'exécute lorsque je clique sur un bouton de recherche de fichier.
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); }
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.
Partager