2013-09-23 43 views
5

我想连接到一个excel 2007文件格式(.xlsx)使用delphi 7,所以我用一个AdoConnection并设置其属性connectionstring为:连接到Excel使用2007年的ADOConnection文件中Delphi7的

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test\qm\Results-summary.xlsx;Extended Properties="Excel 12.0;IMEX=1";Persist Security Info=False 

但是,当我主动AdoConnection我收到此错误:

Could not find installable ISAM.

问题在哪里?

回答

10

我找到了解决办法。我的错误是使用Microsoft.Jet.OLEDB.4.0驱动程序的excel 2007文件。我把它改成Microsoft.ACE.OLEDB.12.0驱动程序和扩展属性设置为Extended Properties="Excel 12.0 Xml;HDR=yes",现在我的连接字符串是:

Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\test\qm\Results-summary.xlsx;Mode=Share Deny None;Extended Properties="Excel 12.0 Xml;HDR=yes";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=37;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False 

和工程:)

相关问题