Utilisation d'OleDbConnection pour récupérer les noms de feuilles Excel avec des caractères spéciaux

Hé à tous, j'essaie d'get une list de noms de feuilles à partir d'un file Excel en utilisant OleDbConnection. (REMARQUE: Ce programme s'exécute sur un server, donc aucune option pour utiliser les classs d'interopérabilité du bureau). Donc, tout fonctionne bien avec le code suivant et il renvoie le nom de la feuille:

var dt = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); foreach (DataRow row in dt.Rows) { ssortingng sheetName = row["TABLE_NAME"].ToSsortingng(); } 

Cependant, si le nom de la feuille Excel contient un point ".", Cela est converti en "#". Par exemple, si le file Excel possède les noms de feuille suivants:

 Sheet.1 Sheet#1 

Le code ci-dessus renverra:

 "Sheet#1$" "'Sheet#1$'" 

Et les noms des feuilles sont maintenant les mêmes. Devient pire!!! lors de la lecture des données de Sheet.1 selon le code suivant:

 var adapter = new OleDbDataAdapter("SELECT * FROM ['Sheet.1$']", connectionSsortingng); 

il lira réellement datatables de la «feuille n ° 1» PAS «feuille 1».

Toute aide serait appréciée.