//03版本
if (exp == "xls" || exp == "XLS")
{
strCon = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + filePath + ";Extended Properties=Excel 8.0";
}
//07版本
else
{
strCon = "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" + filePath + ";Extened Properties='Excel 12.0 Xml;HDR=YES'";
}
连接语句是这个样字。 03的没一点问题。但一导入07的 就提示“找不到可安装的 ISAM”。我把07的连接语句中的Microsoft.Ace.OleDb.12.0改成Microsoft.Jet.OleDb.12.0,就提示“未在本地计算机上注册“Microsoft.Jet.OleDb.12.0”提供程序”。 纠结啊!
------最佳解决方案--------------------------------------------------------
07的代码改为如下
strCon = "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" + filePath + ";Extended Properties=\"Excel 12.0; HDR=No; IMEX=1;\"
这个引号也不能少,细节要注意
------其他解决方案--------------------------------------------------------
菜鸟求帮忙! 搞不明白了,网上的一些方法也看了,不行啊!
------其他解决方案--------------------------------------------------------
用你的还真OK。不过你最后还是少了个" 。呵呵。这么写有原因吗?
------其他解决方案--------------------------------------------------------
有的 当读取2007Excel的时候,要加一个IMEX=1,当写的时候 IMEX=0.这是一个约定格式规范
------其他解决方案--------------------------------------------------------
有没有装AccessDatabaseEngine呢?
------其他解决方案--------------------------------------------------------
亲,记得结贴啊。。。。