c# - 用于 ASP.Net 中不同版本 Excel 的连接字符串

标签 c# asp.net excel connection-string

我在 ASP.Net 中创建了一个系统来将多个 excel 文件合并为一个。我为此使用的不同连接字符串如下

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,或者我是否需要更改我的应用程序的任何内容?

我要合并的文件类型是

Microsoft Excel 97-2003 工作表 (.xls)

最佳答案

好吧,你必须安装 excel 的驱动程序,你可以在这里找到它 office driver

如果您在 IIS 上遇到同样的错误,那么您必须进行此 Link 中提到的一些配置

关于c# - 用于 ASP.Net 中不同版本 Excel 的连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34506025/

相关文章:

c# - 如果失败,如何让webclient重新下载文件?

c# - 混淆+反射

c# - 如何使用 EntityFrameworkCore 运行原始 SQL 查询并将结果映射到 IEnumerable<T> 类型?

asp.net - 如何使用 javascript 获取 ASP.NET 的文本框控件的值

c# - 在 Excel 加载项中插入来自另一个工作簿的工作表

vba - 将变量设置为列表中的下一个实例不起作用

excel - 跨多个工作表的索引匹配

c# - Sha512 在 C# 哈希验证中不返回相等

c# - 是否有针对 ASP.NET Web 窗体的现成角色/成员资格框架?

asp.net - AdBlock 阻止 .NET 4.5 网站上的 CSS 和图像