【发布时间】:2012-10-29 16:47:52
【问题描述】:
我整天都在尝试解决这个问题,希望这里的人已经知道如何做到这一点 - 我正在尝试在我的 Windows 窗体中显示 Excel 2010 工作表,但没想到会是这样困难。
所以...根据我在网上看到的情况,最好的方法是通过 WebBrowser 控件 - 我的代码非常简单:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strfilename = Application.StartupPath & "\SheetXX.xlsx"
WebBrowser1.Navigate(strfilename, False)
End Sub
但它会弹出一个文件下载对话框。起初,我的问题是,即使我按下“打开”按钮,它也会在单独的窗口中打开 Excel。我设法使用this registry fix 解决了这个问题,但它仍然会在我的网络浏览器中打开它之前弹出对话框,我的最终用户会抱怨。
其他在线解决方案提到了Microsoft dsoframer,但这对我也根本不起作用......
有人知道怎么做吗??简单明了,我只想在我的 windows 窗体中查看 Excel 工作表。
谢谢!!
【问题讨论】:
-
您使用的是哪种浏览器?
-
ie8,但我需要这个才能与任何用户一起工作,不幸的是 - 我们总是可以假设他们最旧的版本是 ie8...
-
iFrame怎么样,你试过了吗?
-
您是否尝试过更改 EditFlags 值(不仅是 BrowserFlags),尤其是 FTA_OpenIsSafe 值。见msdn.microsoft.com/en-us/library/windows/desktop/bb762506和deckerd26354.net/shrine/tech/tipsheets/WinShell/…
-
谢谢,Simon - 刚刚试了一下,但对话框仍然显示... :(
标签: c# .net vb.net excel interop