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 – 并启用其中的任何内容.

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

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....