Récupérer nom feuille excel

Résolu
AnoTreL Messages postés 27 Date d'inscription jeudi 18 mai 2006 Statut Membre Dernière intervention 16 janvier 2008 - 21 nov. 2006 à 16:08
Whismeril Messages postés 19019 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 14 avril 2024 - 27 juil. 2018 à 10:24
Bonjour,

Je voudrais savoir comment récupérer le nom d'une feuille excel.
(La connexion au fichier excel est déjà établie)

4 réponses

cs_coq Messages postés 6350 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
25 nov. 2006 à 00:09
Salut,

Si par connexion tu parles bien d'un accès via une connexion OleDb, tu peux te servir dans la fonction GetOleDbSchemaTable, comme c'est fait par exemple ici : http://support.microsoft.com/kb/318452/en-us

/*
coq
MVP Visual C#
CoqBlog
*/
3
gruf Messages postés 29 Date d'inscription jeudi 18 janvier 2018 Statut Membre Dernière intervention 25 octobre 2018
27 juil. 2018 à 09:59
bonjour, le lien "http://support.microsoft.com/kb/318452/en-us" ne marche plus
0
Whismeril Messages postés 19019 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 14 avril 2024 655 > gruf Messages postés 29 Date d'inscription jeudi 18 janvier 2018 Statut Membre Dernière intervention 25 octobre 2018
27 juil. 2018 à 10:24
12 ans après ça t'étonnes?
Il serait plus judicieux que tu ouvres un nouveau sujet où tu décriras ton besoin
0
AnoTreL Messages postés 27 Date d'inscription jeudi 18 mai 2006 Statut Membre Dernière intervention 16 janvier 2008
28 nov. 2006 à 09:47
Merci, c'était tout à fait ça et ça marche
0
AnoTreL Messages postés 27 Date d'inscription jeudi 18 mai 2006 Statut Membre Dernière intervention 16 janvier 2008
28 nov. 2006 à 16:18
J'ai un autre problème maintenant, c'est que une fois que j'ai récuperé les noms de mes feuilles excel dans un DataTable, il les trie automatiquement par nom, du coup je sais plus quelle est ma feuille 1, est-ce que qqn sait comment faire pour qu'il n'y ait pas de tri ?

voilà un bout de mon code:



OleDbConnection
excelConnexion =

new



OleDbConnection
(

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ cheminFichierXls +

";Extended Properties="Excel 8.0;HDR=Yes;IMEX=1""
);
excelCommand.Connection = excelConnexion;

excelConnexion.Open();




DataTable
FeuillesExcel = excelConnexion.GetOleDbSchemaTable(System.Data.OleDb.

OleDbSchemaGuid
.Tables,

new



Object
[] {

null
,

null
,

null
,

"TABLE"
});


string
NomFeuille = FeuillesExcel.Rows[indiceFeuille][

"TABLE_NAME"
].ToString();
0
cs_coq Messages postés 6350 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
2 déc. 2006 à 21:00
A ma connaissance tu ne pourras pas, à moins qu'il existe un autre provider OleDb pour Excel qui retourne cette liste sans la trier par ordre alphabétique.
En plus quand on considère le fonctionnement d'un SGBD en général l'ordre des tables n'a pas vraiment d'existence réelle, seul l'ordre des colonnes y est important (bien qu'il vaut mieux éviter de se baser dessus)

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous