(VB.NET) Excel Application.Visible = True 在 Windows Server 2019 上不工作

问题描述 投票:0回答:0

我有一个 Windows Server 2019。我在 IIS 上托管了一个网站。 在网站上,有一个按钮可以从数据库 (sql server) 中获取信息,然后使用该信息创建一个 Excel 工作表。 完成后,它会向用户打开 Excel 文件,以便他可以保存它或其他任何东西。

使用 Microsoft.Office.Interop.Excel 创建应用程序的简单 VB 代码。

(只显示相关代码)

Dim appXL As Excel.Application
Dim wbXl As Excel.Workbook
Dim shXL As Excel.Worksheet
Dim raXL As Excel.Range

appXL = CreateObject("Excel.Application")

wbXl = appXL.Workbooks.Add
shXL = wbXl.ActiveSheet

appXL.Visible = True
appXL.UserControl = True

现在,在本地测试这个没有任何问题。我单击按钮,它会生成 Excel 文件并打开它。 但是,当我将该站点放到我的 Windows Server2019 上时,它出现了问题。

  • 一开始,Microsoft Office 没有安装,所以我遇到了 ActiveX 问题。这是通过安装 Office 解决的,因此安装了 Excel。
  • 之后,我不得不进入服务组件,进入 DCOM 配置以使网络服务用户能够访问 Excel 应用程序(点击此链接).

我现在遇到的问题是,单击按钮将执行获取数据库信息并在后端构建整个 Excel 文件的步骤。当我单击该按钮时,任务管理器中的 Excel 进程正在运行这一事实表明了这一点。但是,任务管理器中的这个条目是在后台进程中,而不是在应用程序中。

该站点不显示任何错误,它只是滚动代码,从不显示 Excel 文件。它不在任务栏或其他任何地方。 我尝试了一些东西来展示它,例如:

  • appXL.Windows(wbXL.Name).visible = true
    没用
  • 最大化窗口

到目前为止,没有拍摄。显然它在我的工作站上运行良好,Excel 打开了,但在服务器上却没有。 我想知道是否与我没有配置的某些权限有关? 我今天早上刚在服务器上安装了 Microsoft Office。也许还有别的事情要做?

非常感谢。

vb.net display excel-interop windows-server-2019
© www.soinside.com 2019 - 2024. All rights reserved.