bonjour,
je travaille en oleDB sur un fichier excel. Je voudrai accéder à la 1ère feuille (en fait, il n'y a en toujours qu'une), mais je ne sais pas en trouver le nom. Y-a-y-il une méthode ?
mon code actuel (tres lent à cause de l'exception, et qui ne trouve pas toujours les feuilles, car il y a des fichiers dont la feuille porte un nom différent (Page1, Results, etc...) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 OleDbConnection oCnx = null; try { DataSet oDs = new DataSet("ExcelDataset"); OleDbDataAdapter oAd = new OleDbDataAdapter(); string sCnxString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\""; oCnx = new OleDbConnection(sCnxString); oCnx.Open(); bool feuilleOK = false; int k = 1; do { try { string sCmdString = String.Format("SELECT * FROM [Feuil{0}$]", k.ToString()); OleDbCommand oCmd = new OleDbCommand(sCmdString, oCnx); oAd.SelectCommand = oCmd; oAd.Fill(oDs); feuilleOK = true; } catch(Exception e) { ++k; feuilleOK = false; } }while(feuilleOK == false || k > 100); if(k>100) throw new Exception("Feuille non trouvée"); ...
Partager