2013-09-23 13 views
5

Ich möchte eine excel 2007 Datei (.xlsx) mit delphi 7 verbinden, so habe ich eine AdoConnection und legen Sie seine connectionstring Eigenschaft als:Connect to Excel 2007-Datei mit ADOConnection in 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 

Aber wenn ich aktiv die AdoConnection ich diese Fehlermeldung erhalten:

Could not find installable ISAM.

Wo liegt das Problem?

Antwort

10

Ich fand die Lösung. Mein Fehler war Microsoft.Jet.OLEDB.4.0 Treiber für excel 2007 Datei. Habe ich es zu Microsoft.ACE.OLEDB.12.0 Treiber und stellen Sie die erweiterte Eigenschaft auf Extended Properties="Excel 12.0 Xml;HDR=yes", jetzt meine Verbindungszeichenfolge ist:

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 

und es funktioniert :)