在ASP.Net中用于不同版本的Excel的连接string
我已经在ASP.Net中创build了一个系统来将多个excel文件合并为一个。 我用于此的不同连接string如下所示
switch (Extension) { case ".xls": //Excel 97-03 conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1};IMEX=1;'"; break; case ".xlsx": //Excel 07 conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR={1};IMEX=1;'"; break; }
之前系统工作正常,但从今天开始给我错误
“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册
我是否需要在应用程序中包含任何特定的(新)dll,还是需要更改我的应用程序?
我试图合并的文件types是
Microsoft Excel 97-2003工作表(.xls)
以及你必须安装驱动程序为Excel,你可以find它在这里办公司司机
如果你在IIS上遇到相同的错误,那么你必须做一些在这个链接中提到的configuration
我也经历了同样的问题。 可能的原因是,远程服务器上有不同的IIS设置,IIS设置不同。 默认情况下,64位OS上的IIS在64位工作进程中运行应用程序,并且64位进程无法加载32位DLL。
检查下面的链接并在远程服务器IIS中进行更改。 (这回解决了我的问题)
已解决 – Microsoft.ACE.OLEDB.12.0提供程序未在本地计算机上注册
- C#使用oledb读取excel数据并以指定格式格式化并插入到SQL Server数据库中
- C#通用OleDb连接到Excel
- 使用IIS服务在活动会话和会话0外执行应用程序
- 我怎样才能使用ASP.NET将数据从MS-Excel导入到Sql Server?
- asp.net应用程序,读取上传的Excel dcoument而不保存到文件系统
- 创build和保存一个Excel文件
- 如何在asp.net中将此Excel工作表保存为文本文件(.txt)?
- 跨越jquery,asp.net和excel的问题,试图导出网格到Excel,但我不能隐藏dynamicrgPager
- 我们可以使用File.Create创buildExcel文件吗?