可以自动从Web应用程序在桌面上运行Excel吗?

时间:2016-04-16 22:05:30

标签: excel web vb6 automation

我们正在升级VB6桌面应用程序,我正在调查将其转换为Web应用程序的可能性。然而,这个应用程序的一个主要功能是它从VB6代码自动化Excel;见Automation

因此,从服务器端代码(在Web服务器上运行)和/或客户端代码(在Web浏览器中运行)的Web应用程序是否可以控制在客户端桌面上运行的Excel可执行文件?

代码将需要调用Excel可执行文件来操作Excel工作簿,设置工作表的可见性,取消保护工作表,清除范围内容,因为用户(会计师)与Web应用程序交互 Excel。

由于安全原因(https://msdn.microsoft.com/en-us/library/aa752035(v=vs.85).aspx),ActiveX可能不可能,尽管它是一个Intranet应用程序。

如果无法做到这一点,是否有其他想法可以达到类似效果?

1 个答案:

答案 0 :(得分:1)

根据我的 Windows 开发经验,我的建议是创建 .net dll ,作为浏览器之间的中介和 Excel 。此dll将托管嵌入式http websocket 服务器,具体取决于使用无状态请求/响应模型是否可以更好地满足您的用例或 websocket 提供的持久连接。然后,嵌入式服务器可以分别通过提供的 xmlhttp 功能或 HTML5 websocket 从您的Web应用程序 JavaScript 调用。 .net dll还将通过.net的 interop 机制为Excel提供接口。这些选项需要考虑的一些问题是:

  • 安全性 - Windows要求为用户/组授予特定的权限以启动基于http的侦听器
  • 如何启动服务器? - 您可以在网络应用的页面上使用 html链接来调用您的.net 加载时可执行文件(这里也可能存在安全问题)。您还可以将.net 程序集合并到Windows 服务项目中,并将生成的应用程序配置为通过 Windows服务控制管理器自动启动。 / LI>

一些可以帮助您入门的链接:

我希望这会有所帮助。