1

我正在尝试使用 webbrowser 控件在 Windows 窗体中显示 Excel 文档。

使用在 Codeproject How to Integrate Excel in a Windows Form Application using the WebBrowser[^] 中搜索到的代码,我能够在 webbrowser 控件中正确显示 32 位操作系统中的 excel(.xls 和 .xlsx)文件。

但是,当我尝试在 64 位操作系统中执行代码时,.xlsx 类型的 Excel 文件没有在 webbrowser Control 中打开,而是作为普通的 excel 文件打开,但 .xls 文件在 webbrowser Control 中正确打开。为此,我使用以下链接执行了注册脚本以更改注册表设置当您尝试在 IE7 或 IE8 中查看 2007 Microsoft Office 程序文档时会打开一个新窗口,但 .xlsx 文件始终像 Office excel 文件一样单独打开,而不是打开它在网络浏览器控件中。

目前我正在使用 Microsoft Office 2010 软件作为我的办公工具。

请提供解决方案以打开.xlsx要在 webbrowser 控件中打开的文件。

4

1 回答 1

0

为了能够在 64 位进程中嵌入 Office,您需要安装 64 位 Office。这意味着您不能拥有 32 位 Office(它们不能在同一台机器上共存)并且您的 32 位程序将无法运行。您可以发布两个版本,一个 x86 和一个 x64)并让用户做出选择,或者同时发布两个版本并使用检测 CPU 位数的启动器启动正确的版本。

顺便说一句,您仍然需要BrowserFlags hack,因为自 2007 年以来,Microsoft 不鼓励您这样做。虽然 Office 2010 仍然支持ActiveX Document Server,但 Office 团队将在将来的某个时候删除该支持。因此,如果您依赖 Office 的 ActiveX Document Server 支持作为核心功能,则需要提前计划。

于 2013-01-21T20:52:53.300 回答