我有一个 C# .net 网络应用程序。我希望用户单击网页上的按钮,服务器打开 Excel 电子表格并将数据写入其中,用户保存文档。这可以使用 Visual Studio 2010 和 Office 2010 在本地工作。但是,在我的服务器上,我收到此错误:
System.Runtime.InteropServices.COMException (0x80080005):检索具有 CLSID {00024500-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败,原因是以下错误:80080005 服务器执行失败(来自 HRESULT 的异常:0x80080005 (CO_E_SERVER_EXEC_FAILURE ))。
我研究并发现了大量的答案,说明打开 dcomconfig 并将具有权限的用户添加到 Microsoft Excel 应用程序。我的网站设置为直通安全,所以我添加了自己;我是服务器的管理员,所以我确保管理员可以访问;我还添加了网络服务的应用程序池默认值;还有 ASP.NET 机器帐户;并且,以防万一,添加了应用程序在连接到数据库时使用的帐户。我仍然得到完全相同的错误。
我的服务器是 64 位的,Office 2007,IIS 7。
我的代码是:
{
try
{
Excel.Application xXL = null;
Excel.Workbook xWB = null;
Excel.Worksheet xSheet = null;
xXL = new Excel.Application();
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
}