当前位置: 代码迷 >> ASP.NET >> excel 导入数据到sql。就出有关问题了
  详细解决方案

excel 导入数据到sql。就出有关问题了

热度:5438   发布时间:2013-02-25 00:00:00.0
excel 导入数据到sql。就出问题了!
 //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;\"
这个引号也不能少,细节要注意
------其他解决方案--------------------------------------------------------
菜鸟求帮忙! 搞不明白了,网上的一些方法也看了,不行啊!
------其他解决方案--------------------------------------------------------
引用:
07的代码改为如下

strCon = "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" + filePath + ";Extended Properties=\"Excel 12.0; HDR=No; IMEX=1;\"
这个引号也不能少,细节要注意



用你的还真OK。不过你最后还是少了个" 。呵呵。这么写有原因吗?
------其他解决方案--------------------------------------------------------
引用:
引用: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呢?
------其他解决方案--------------------------------------------------------
引用:
引用:07的代码改为如下

strCon = "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" + filePath + ";Extended Properties=\"Excel 12.0; HDR=No; IMEX=1;\"
这个引号也不能少,细节要注意


用你的还真OK。不……

亲,记得结贴啊。。。。
  相关解决方案