微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – Excel Automation Workbooks.Open失败:“无法获取Open Property …”

我正在使用一个执行一些Excel自动化的Web应用程序(我知道 – 不是首选解决方案).

我使用Excel 2007作为我的开发平台,但目标服务器使用的是Excel 2003.尽管在开发期间我明确选择了Excel 11,但在尝试加载到目标服务器上的Excel 12互操作后遇到了很多麻烦,我已经求助于使用后期绑定而不是早期绑定.

这使我能够实现Excel的实例化(我可以看到Excel进程在目标服务器上的任务管理器中启动).

但是我无法调用后期绑定的Workbooks对象的Open方法.它向我抛出这个错误

"Unable to get the Open property of the Workbooks class"

我一直在尝试一些不同的东西,并尝试了以下内容

>尝试相同的Workbook.使用后期绑定VBScript(例如vbs文件)打开调用.
>尝试使用相同的Workbook.使用后期绑定VBA代码打开调用(例如在Excel中).
>尝试使用相同的Workbook.在Windows窗体应用程序中使用后期绑定.NET代码打开调用.

在所有三种情况下,Excel自动化都成功.只有当我部署ASP.NET应用程序时,才会出现此错误.在一个非常简化的形式,代码类似于:

Dim xlApp As Object 'Excel.Application
Dim xlBook As Object ' Excel.Workbook
xlApp = CreateObject("Excel.Application") 'New Excel.Application
xlBook = xlApp.Workbooks.Open("somefile.xls",True,False)

有没有人对可能发生的事情有任何想法?我检查了用户Excel进程启动的用户,并且它与我成功运行Windows Forms .NET应用程序的用户相同.我已经打开Excel作为此用户清除所有初始设置的东西.

解决方法

我遇到了同样的问题,我发现一些网站说如下:尝试去文件 – 选项 – 加载项 – 在管理下拉列表中选择diabled加载项 – 点击go – 并启用其中的任何内容.

它不适合我,但它可能适合你.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐