我们正在升级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应用程序。
如果无法做到这一点,是否有其他想法可以达到类似效果?
答案 0 :(得分:1)
根据我的 Windows 开发经验,我的建议是创建 .net dll ,作为浏览器之间的中介和 Excel 。此dll将托管嵌入式http 或 websocket 服务器,具体取决于使用无状态请求/响应模型是否可以更好地满足您的用例或 websocket 提供的持久连接。然后,嵌入式服务器可以分别通过提供的 xmlhttp 功能或 HTML5 websocket 从您的Web应用程序 JavaScript 调用。 .net dll还将通过.net的 interop 机制为Excel提供接口。这些选项需要考虑的一些问题是:
一些可以帮助您入门的链接:
我希望这会有所帮助。