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

Signaler
Messages postés
27
Date d'inscription
jeudi 18 mai 2006
Statut
Membre
Dernière intervention
16 janvier 2008
-
Messages postés
14475
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
10 juillet 2020
-
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

Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
82
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
*/
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
Messages postés
14475
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
10 juillet 2020
420 >
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
Messages postés
27
Date d'inscription
jeudi 18 mai 2006
Statut
Membre
Dernière intervention
16 janvier 2008

Merci, c'était tout à fait ça et ça marche
Messages postés
27
Date d'inscription
jeudi 18 mai 2006
Statut
Membre
Dernière intervention
16 janvier 2008

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();
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
82
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
*/