System.Data.OleDb.OleDbException”类型的异常在 System.Data.dll 中发生 其他信息: 找不到可安装的 ISAM。

zxccxzzxccxz1 2015-05-22 10:29:58
错误如题目~
office版本是office2013
代码如下
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + savePath + ";" + "Extended Properties='Excel 15.0;HDR=YES;IMEX=2';";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
open的时候报的错
System.Data.OleDb.OleDbException”类型的异常在 System.Data.dll 中发生 其他信息: 找不到可安装的 ISAM。
...全文
593 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2015-05-22
  • 打赏
  • 举报
回复
i疾风 2015-05-22
  • 打赏
  • 举报
回复

 private String getConnString()
        {
            String connectionString = String.Empty;
            if (excelFilePath != null)
            {
                //Excel版本不一样,连接字符串不一样
                if (excelFilePath.EndsWith(".xls"))
                {//Excel2003
                    connectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" + excelFilePath + "; Extended Properties=Excel 8.0";
                }
            else
                {//Excel2007 up
                    connectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source=" + excelFilePath + "; Extended Properties=Excel 12.0";
                }
            }
            return connectionString;
        }
以上代码我以前用过的代码可以解决你的问题。问题出在03,07版本的连接字符串不一样。如果你入坑不深,建议不要再用oledb操作excel,因为将来1.格式不好更改。2.dom操作会出现线程错误且很难处理。3.隐藏坑。 推荐使用openxml,这是处理07之后的office所使用的东西。是个趋势,刚开始可能比较难看懂,但是早晚得看。 不过,只是简单的插入excel数据的话oledb插入时类似于sql的插入语句还是比较好用的。只是oledb处理的文件个人感觉文件都很大,具体原因没研究过。 PS:如果openxml觉得太难,且工程要求不高的话可以用CLOSEdxml,这个用起来上手比较快。但是核心还是openxml
於黾 2015-05-22
  • 打赏
  • 举报
回复
savePath是个啥 你确定它是文件所在路径,而不是你想要保存的路径?

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧