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

AnoTreL 27 Messages postés jeudi 18 mai 2006Date d'inscription 16 janvier 2008 Dernière intervention - 21 nov. 2006 à 16:08 - Dernière réponse : cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention
- 2 déc. 2006 à 21:00
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

Répondre au sujet
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 25 nov. 2006 à 00:09
+3
Utile
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
*/
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_coq
AnoTreL 27 Messages postés jeudi 18 mai 2006Date d'inscription 16 janvier 2008 Dernière intervention - 28 nov. 2006 à 09:47
0
Utile
Merci, c'était tout à fait ça et ça marche
Commenter la réponse de AnoTreL
AnoTreL 27 Messages postés jeudi 18 mai 2006Date d'inscription 16 janvier 2008 Dernière intervention - 28 nov. 2006 à 16:18
0
Utile
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
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 2 déc. 2006 à 21:00
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.