Bonjour,
J'aurais aimé savoir comment récupérer la liste des feuilles que contient un fichier excel et ce via programmation "of course de cheval".
Merci d'avance et à bientôt...
Bonjour,
J'aurais aimé savoir comment récupérer la liste des feuilles que contient un fichier excel et ce via programmation "of course de cheval".
Merci d'avance et à bientôt...
Pour ceux qu'une réponse intéresserait, voilà la solution que j'ai trouvé, mais qui ne me satisfati pas encore. Effectivement cette solution utilise la référence à la Bibliothèque d'objets Microsoft Excel. Ce qui est un peu lourd pour récupérer parfois un seul String.
Il faut donc ajouter la référence à la Bibliothèque d'objets Microsoft Excel. Pour ce faire, vous aller dans le menu Projet, cliquez sur Ajouter une référence. Sous l'onglet COM, recherchez Bibliothèque d'objets Microsoft Excel et cliquez sur Sélectionner.
Et voilà le tour est joué. Si quelqu'un voit une autre manière de faire, qu'il n'hésite pas à le faire savoir...
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
38
39
40 using System.Reflection; ... Excel._Application _myXlsApp = null; Excel._Workbook _myWrkBk = null; Excel.Sheets _mySheets = null; Excel._Worksheet _myWrkSht = null; --- _myXlsApp = new Excel.Application(); _myXlsApp.Visible = false; // ne pas faire apparaître Excel String fileName = @textBox1.Text; //je récupère le path ds un textbox _myWrkBk = _myXlsApp.Workbooks.Open(fileName, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing); try { _mySheets = _myWrkBk.Sheets; int _nbSheet = _mySheets.Count; for (int i = 1; i < _nbSheet + 1; i++) { _myWrkSht = (Excel._Worksheet)_mySheets[i]; cb.Items.Add(_myWrkSht.Name.ToString()); cb.SelectedItem = comboBox1.Items[0]; } } catch (Exception ex) { MessageBox.Show(ex.Message); } _myWrkBk.Close(false, Missing, Missing); // ferme le XLS _myXlsApp.Quit(); // On met fin au pilotage
Justement je pensais aussi que VSTO (que je n'ai pas) proposerait une solution naturelle pour recuperer ce genre d'infos, donc je me suis abstenu de proposer une solution a l'ancienne
T'est certain que VSTO ne propose pas un Excel.Documents(0).Worksheets.Count quelque part :
Le risque c'est que ta solution est dependante de la version de la Dll d'excel (et donc de la version d'excel: 9, XP...)
J'ai plus tout le bazard en tête mais il semble que siEnvoyé par Piotrek
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
En effet par le biais il me semble de l'objet Range qui peut représenter un simple objet ou représenter une collection d'objets (Il possède les membres Item et Count)
Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles
N'ayant pas VSTO non plus, je cherchais donc une solution moins couteuse. Apparemment il n'existe pas de version Express de VSTO... :cry:
Donc à mon sens la seule solution hors VSTO reste celle que j'ai donnée...
Il existe une autre possibilite hors VSTO, considerer Excel comme une base de donnees:
http://www.dotnet247.com/247reference/msgs/54/271079.aspx
Haaa génial, c'est exactement ce que je recherchais en fait!!!
Pour ma culture personnelle, je vais regarder d'un peu plus près VSTO, mais sinon ma question a trouvé une réponse. Merci!!!
Un tuto sur VSTO prochainement sur developpez???
Suffit de demander
http://morpheus.developpez.com/vsto2/
Morpheus le fait
Pas mal le sloganEnvoyé par Piotrek
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager