Asp.net Excel自动化工作簿。打开失败:“;无法获取打开的属性…”;

Asp.net Excel自动化工作簿。打开失败:“;无法获取打开的属性…”;,asp.net,excel,Asp.net,Excel,我正在使用一个执行Excel自动化的web应用程序(我知道,这不是首选的解决方案) 我使用Excel2007作为我的开发平台,但目标服务器使用Excel2003。尽管我在开发过程中明确选择了Excel11,但在尝试将Excel12 interop加载到目标服务器时遇到了很多麻烦,因此我采用了后期绑定,而不是早期绑定 这使我能够尽可能地实例化Excel(并且我可以在目标服务器上的TaskManager中看到Excel流程的启动) 但是,我无法调用后期绑定工作簿对象的Open方法。它向我抛出了这个错

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

我使用Excel2007作为我的开发平台,但目标服务器使用Excel2003。尽管我在开发过程中明确选择了Excel11,但在尝试将Excel12 interop加载到目标服务器时遇到了很多麻烦,因此我采用了后期绑定,而不是早期绑定

这使我能够尽可能地实例化Excel(并且我可以在目标服务器上的TaskManager中看到Excel流程的启动)

但是,我无法调用后期绑定工作簿对象的Open方法。它向我抛出了这个错误:

"Unable to get the Open property of the Workbooks class"
我一直在尝试一些不同的东西,并尝试了以下几点:

  • 尝试相同的工作簿。使用后期绑定VBScript(例如vbs文件)打开调用
  • 尝试相同的工作簿。使用后期绑定VBA代码打开调用(例如在Excel中)
  • 尝试相同的工作簿。在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,以清除所有初始设置内容

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


    这对我不管用,但对你可能管用。

    迟迟不回答比永远不回答好

    开发VBscript时,请确保处理了阻止正确关闭Excel工作簿的错误

    我得到了与您相同的错误,但我发现,当我的逻辑中出现错误时,解释器不会关闭Excel手册,使其无法进一步处理

    Dim XLWkbk'Excel工作簿
    设置xlApp=CreateObject(“excel.application”)
    出错时继续下一步
    设置XLWkbk=xlApp.Workbooks.Open(“somefile.xlsm”)
    如果错误号为0,则“捕获错误”
    WScript.Echo“打开时出错:”&Err.Number&“&Err.Description
    XLWkbk.Close False“关闭工作簿”。
    xlApp.Quit'退出excel程序。
    WScript.Quit
    呃,明白了
    如果结束
    Echo“已打开”
    

    请确保使用对文件进行操作的所有函数(SaveAs、Close等)处理该错误。

    省略最后一个参数,为我修复了该错误

    xlBook = xlApp.Workbooks.Open("somefile.xls", , True, , , , , , , , , , , , )
    

    这里也有同样的问题,我在Groovy中有一个脚本,使用scriptom访问excel com对象,当我从命令行运行它时,它会工作,当从web服务器上的php引擎启动它时,它会失败并出现错误。