Je vas zessayer
Mais je vois que pour le coup tu utilise
C'est pas obolete par rapport a ADO ?Microsoft.Jet.OLEDB.4.0
Je vas zessayer
Mais je vois que pour le coup tu utilise
C'est pas obolete par rapport a ADO ?Microsoft.Jet.OLEDB.4.0
Le fournisseur Jet est déprécié par Microsoft, mais MS ne donne pas d'autre méthode pour se connecter à un fichier Excel avec ADO.NET (à ne pas confondre avec ADO)...
Merci Skalp
On ne peut pas dire que tout cela soit d'une limpidité éclatante
Mais l'article que tu a cité pour ADO.NET devrait me donner quelques lumiere
Quel M.... ce truc
Meme l'exemple que tu m'a envoyé (le dernier) est Mauvais et pourtant ca vient direct de Microsoft !
Mais du coup OUF ! ca marche avec un code relativement simple !!
La bonne syntaxe c'est pas
Mais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 // Crée une nouvelle commande OleDbCommand pour renvoyer les données de la feuille de calcul. OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM maPlage1", objConn);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 // Crée une nouvelle commande OleDbCommand pour renvoyer les données de la feuille de calcul. OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM [maPlage1$]", objConn);
+1
Ben oui
J'ai des yeux devant et des yeux derrierre
Et c'est pas toujours Synchro !
J'ai plongé sur le lien que tu avait ajouté
En ne regardant plus ton code qui était le bon !
Code : Sélectionner tout - Visualiser dans une fenêtre à part se connecter à un fichier Excel avec ADO.NET
En tout cas ca marche !!
Merci Skalp !
une soluce qui m'a fait galérer mais dont un internaute à trouver la soluce pour les pb de culture excel et windows :
Magique :-)
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 // handles all exception for MS Excel culture // resolve pb relative to XP set to french and Excel set to english Hashtable ExcelLangue = new Hashtable (System.Globalization.CultureInfo.GetCultures (System.Globalization.CultureTypes.AllCultures).Length - 1); foreach (System.Globalization.CultureInfo ExcelCulture in System.Globalization.CultureInfo.GetCultures ((System.Globalization.CultureTypes.AllCultures))) { ExcelLangue.Add(ExcelCulture.LCID, ExcelCulture.Name); } System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture (ExcelLangue[XlsFile.LanguageSettings.get_LanguageID (Microsoft.Office.Core.MsoAppLanguageID.msoLanguageIDUI)].ToString());
Tout d'abord un grand merci à Skalp pour ce projet bien util
J'ai cependant relevé un petit bug dans la méthode GetWorksheet.
Il est nécessaire de définir la feuille active avant d'appeler SetWorksheetAttributes
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 private _Worksheet GetWorksheet(string WorksheetName) { foreach (_Worksheet Worksheet in this.m_Workbook.Worksheets) { if (Worksheet.Name == WorksheetName) { this.m_Worksheet = Worksheet; // <--- Il faut définir la feuille courante, // sinon la ligne suivante plante this.SetWorksheetAttributes(); return Worksheet; } } return (_Worksheet)this.m_Workbook.ActiveSheet; }
Partager