1

我正在尝试上传一个excel文件。

我在本地机器上有一个 ASP.NET 测试站点,上传工作正常。

但是,当我将同一个站点放到服务器机器上然后尝试上传时,它给了我一条错误消息: “Microsoft.ACE.OLEDB.12.0 未在本地机器上注册”

这是我的连接字符串(对于本地主机):

cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fullpathname + ";Extended Properties=;Excel 12.0;HDR=No;IMEX=1");

这适用于(Microsoft.JET.OLEDB.4.0)的服务器,但同样会在我的本地主机上产生错误,反之亦然:

cn = new OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + fullpathname + ";Extended Properties=;Excel 12.0;HDR=No;IMEX=1");

我试图用谷歌搜索,但找不到一个好的解决方案,尝试了一些答案,比如更改构建配置,仍然不起作用。现在在我的视觉工作室中,构建配置设置为“任何 CPU” (参考这个SO:Question

我的服务器机器没有安装 Microsoft Office,会不会有问题?

提前致谢。

4

2 回答 2

1

您需要先将您的 Excel 文件上传到您的服务器上,然后您的方法将读取位于您服务器上的该 Excel 文件。

在 ASP.NET 中从 Excel 文件(.xsl 或 .xlsx)读取和显示数据

共享“YourFileFolder”,将上传excel文件并添加具有读/写权限的“网络服务”帐户

问候

于 2011-12-13T08:14:05.853 回答
0

我遇到了同样的错误,经过一番谷歌搜索后,我得到了问题的解决方案。我通过在下面的链接中安装“2007 Office System 驱动程序:数据连接组件”解决了这个问题。 http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=23734

于 2014-06-30T11:49:51.183 回答