Récupérer nom feuille excel [Résolu]

Messages postés
27
Date d'inscription
jeudi 18 mai 2006
Statut
Membre
Dernière intervention
16 janvier 2008
- - Dernière réponse : Whismeril
Messages postés
14040
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
12 décembre 2019
- 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)
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
75
3
Merci
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
*/

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 194 internautes nous ont dit merci ce mois-ci

gruf
Messages postés
29
Date d'inscription
jeudi 18 janvier 2018
Statut
Membre
Dernière intervention
25 octobre 2018
-
bonjour, le lien "http://support.microsoft.com/kb/318452/en-us" ne marche plus
Whismeril
Messages postés
14040
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
12 décembre 2019
324 > gruf
Messages postés
29
Date d'inscription
jeudi 18 janvier 2018
Statut
Membre
Dernière intervention
25 octobre 2018
-
12 ans après ça t'étonnes?
Il serait plus judicieux que tu ouvres un nouveau sujet où tu décriras ton besoin
Commenter la réponse de cs_coq
Messages postés
27
Date d'inscription
jeudi 18 mai 2006
Statut
Membre
Dernière intervention
16 janvier 2008
0
Merci
Merci, c'était tout à fait ça et ça marche
Commenter la réponse de AnoTreL
Messages postés
27
Date d'inscription
jeudi 18 mai 2006
Statut
Membre
Dernière intervention
16 janvier 2008
0
Merci
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();
Commenter la réponse de AnoTreL
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
75
0
Merci
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
*/
Commenter la réponse de cs_coq