如何在C#中从ASP.NET调用Excel的Office-365版本?

问题描述

当前,我们在服务器上安装了Word&Excel-2003。而且ASP.NET可以生成Excel表单。 但是,当我尝试导入较新的样式.xlsx并阅读时,它当然是行不通的。

因此,我安装了带有Office-365许可证(包括Excel)的O-365。然后我收到所有对Excel&Word的调用错误。我能够还原和卸载,并重新使用旧的工作方式。

但是如何使更新的版本起作用?我已经在Google上搜索了两次,却找不到确切的答案。有些说..那么,您需要“模拟”。嗯,这可能是因为我的O-365已在特定用户的许可下使用。其他人则通过应用程序池设置来说明这一点。但我认为这是解决此问题的“兔子洞”。因为它在我安装O-365之前就可以使用,现在又可以使用了。

如果是这样,我需要在网络配置中模拟。然后将用户添加到计算机中。我可以看到一些潜在的问题。我感觉如果我可以只使用一个用户,那会更好:在 Microsoft.Office.Interop.Excel 调用中?还是需要为全局应用程序模拟web.config?还是有完全不同的解决方案。

编辑:对不起,我没有发布错误。我安装O-365之后。并尝试通过简单的Excel调用来运行该网站。它会报告: 场次编码:4011 事件消息:发生未处理的访问异常。

有趣的是...大多数情况下,这些“ WEB-STOPPING”错误显示为“黄色三角形”警告。但这只是作为“信息”出现的。

解决方法

用于2003和365的Office互操作依赖于应用程序中引用的某些库。从2003升级到365时,还必须更新该应用程序以引用较新版本的互操作库。

还请注意,365的许可是不同的:默认情况下,将按系统上的每个用户检查许可。尽管您可能已将365安装程序设置为具有与您的用户帐户一起的有效许可证,但是对于正在运行Web应用程序的任何用户帐户,是否都已正确激活了该许可证,令人怀疑。要使其正常工作,需要采取一些额外的步骤。

但是,互操作并不是从Web服务器生成Excel文件的最佳选择。