關於EXCEL2007導入DataSet報“外部表不是預期的格式”的解決方法

        很多人換了2007後,問的最多的問題之一是2003裏最經典的ADO中的“provider=Microsoft.Jet.OLEDB.4.0”這句怎麼不能用了。

  百度一下可以瞭解到,Microsoft.Jet.OLEDB.4.0是Microsoft Jet引擎,這適用於2003版本(2003之前的我沒裝,所以也不知道能向下適應到哪個版本),而在2007中,微軟對其旗下 Access 與 Excel 的主要文件格式進行修改,並且重命名爲 .accdb(Access 2007 數據庫文件)與 .xlsx(Excel 2007 文件),因此未被 Microsoft Jet 引擎所支持,不過微軟也很快的提出了 Microsoft Office 2007 Desktop Drivers: Data Connectivity Components 來支持,目前的解決方法就是把連接字符串中的數據提供者改爲 Microsoft.ACE.OLEDB.12.0
(上面的來自:http://blog.csdn.net/laoyebin/archive/2009/11/29/4902313.aspx

  //2007(Microsoft.ACE.OLEDB.12.0)
  string mystring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=''''Excel 8.0;HDR=Yes;IMEX=1;''''";
  //2003(Microsoft.Jet.Oledb.4.0)
  string mystring = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + path + ";Extended Properties=''''Excel 8.0;HDR=Yes;IMEX=1;''''";

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章