2013-09-23 12 views
5

chcę podłączyć do pliku excel 2007 (.xlsx) używając delphi 7, więc użyłem AdoConnection i ustawić jego właściwość connectionstring jak:Połącz z Excel 2007 plik używając ADOConnection w 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 

Ale kiedy aktywny AdoConnection Otrzymuję ten błąd:

Could not find installable ISAM.

Gdzie jest problem?

Odpowiedz

10

Znalazłem rozwiązanie. mój błąd polegał na użyciu sterownika Microsoft.Jet.OLEDB.4.0 dla pliku excel 2007. Zmieniłem go Microsoft.ACE.OLEDB.12.0 kierowcy i ustaw rozszerzoną właściwość Extended Properties="Excel 12.0 Xml;HDR=yes", teraz mój ciąg połączenia jest:

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 

i działa :)

Powiązane problemy