Excel Automation Workbooks.Open失败:"无法获取Open Property ..."

ace*_*cee 6 asp.net excel

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

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

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

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

"Unable to get the Open property of the Workbooks class"
Run Code Online (Sandbox Code Playgroud)

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

  • 尝试相同的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)
    
    Run Code Online (Sandbox Code Playgroud)

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

    小智 2

    我遇到了同样的问题,我发现一些网站有以下内容:尝试转到文件 - 选项 - 加载项 - 在管理下拉列表中选择禁用的加载项 - 单击“转到” - 并启用其中的任何内容。

    它对我不起作用,但可能对你有用。