我想使用excel 2007
连接到delphi 7
文件(.xlsx),因此我使用AdoConnection
并将其connectionstring
属性设置为:
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
时,我收到此错误:
无法找到可安装的ISAM。
问题出在哪里?
答案 0 :(得分: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
它有效:)