C# 在Windows窗体中嵌入Excel 2010文档

C# 在Windows窗体中嵌入Excel 2010文档,c#,.net,vb.net,excel,interop,C#,.net,Vb.net,Excel,Interop,我一整天都在试图解决这个问题,希望这里的人已经知道如何解决这个问题-我正在尝试在我的Windows窗体中显示Excel 2010工作表,没想到会有这么困难 所以。。。从我在网上看到的情况来看,实现这一点的最佳方法是通过WebBrowser控件-我的代码非常简单: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim s

我一整天都在试图解决这个问题,希望这里的人已经知道如何解决这个问题-我正在尝试在我的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。我设法用它解决了这个问题,但在我的webbrowser中打开它之前,它仍然会弹出对话框,我的最终用户会对此抱怨

其他在线解决方案提到了Microsoft dsoframer,但这对我来说也根本不起作用

有人知道怎么做吗??简单明了,我只想在我的windows窗体中查看Excel工作表


谢谢

我想出了这个解决方案:

首先,您必须将Excel文件保存为MHT格式。然后,只需添加一个iFrame:

<p style="text-align:center">

    <iframe id="ExcelID" src="Reports/ExcelFile.mht?wmode=transparent" 
     width="100%" height="800" wmode="transparent" style="z-index: -1"></iframe>
</p>

对于其他遇到类似问题的人来说,我找到的最好的解决办法就是做我想做的事情。希望它也能帮助别人

您使用的是哪种浏览器?ie8,但我也需要它来与任何用户一起使用,不幸的是-我们总是可以假设他们最早的版本是ie8…iFrame呢,您尝试过吗?您尝试过更改EditFlags值(不仅仅是BrowserFlags),尤其是FTA_OpenIsSafe。看到了,谢谢你,西蒙-刚刚试过,但我还是能看到对话(布罗斯,我只是有点困惑如何将其整合到我的windows窗体应用程序中……我将如何处理我的webbrowser控件?我将把这个HTML/代码放在哪里?我想我误解了你的问题,这是一个Web应用程序的变通解决方案。另一方面,如果你使用MHT格式Dim strfilename=Appl怎么办inition.StartupPath&“\ExcelFIle.mht”
WebBrowser1.Navigate(strfilename,False)
 <iframe src="Reports/ExcelFile.mht" width="100%" height="800"></iframe>