1.首先检查是否注册 ISAM (Indexed Sequential Access Methed(索引顺序存取方法))
Regsvr32 c:/WINDOWS/system32/msexcl40.dll
注册表中:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Jet/4.0/Engines/Excel
win32 处 c:/WINDOWS/system32/msexcl40.dll
但是注册过后我的access数据库打不开了!
如果将c:/WINDOWS/system32/msexcl40.dll 修改为 C:/Program Files/Microsoft Office/OFFICE11/msaexp30.dll
数据库正常但是excel读写操作均出现ISAM错误
2.string strCon = @" Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path + ";Extended Properties=Excel 8.0;";),真是奇怪了.试验过修改EXCEL存储方式,格式,然后修改连接串,最后发现原因是数据驱动有问题,改为string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " + Path + ";Extended Properties ='Excel 8.0;HDR=NO;IMEX=1'"; 就正确了,这里需要大家注意的一个问题'Excel 8.0;HDR=NO;IMEX=1',与Excel 8.0;HDR=NO;IMEX=1的区别,没有'号会一直出现找不到可安装的 ISAM错误!
3.数据库一些连接字符串方法参考
http://www.codeproject.com/kb/database/connectionstrings.aspx