【发布时间】:2012-10-30 17:45:07
【问题描述】:
我正在尝试将 .xls 文件加载到我的 Windows 窗体应用程序中的网络浏览器控件中,以便我可以通过编程方式不断更新它。
因此,例如,当用户按下表单上的按钮时,Excel 工作表中的数据会更新。
我已经很容易地将数据加载到控件中:
WebBrowser1.Navigate(PathToXLSFile)
而且,根据我在网上阅读的内容,我现在应该能够使用以下方式控制该表:
Dim wb As Object
WebBrowser1.Navigate(PathToXLSFile)
wb = WebBrowser1.Document
现在,我尝试将最后一行代码放入WebBrowser1_DocumentCompleted 和 WebBrowser1_Navigated 模块中,但对于这两个模块,我都得到了WebBrowser1.Document = Nothing。
我在网上查了this、this和this等解决方案,但没有一个适合我。
同样,我想要做的是将 Excel 工作表加载到 webbrowser 控件(或其他控件,如果您有更好的想法)并能够通过 .NET 编辑/更改它。
至于我的完整场景(为什么我需要这个):
基本上,我的程序会生成大量数据,最终用户希望看到以特定方式(经常变化)格式化的数据,所以我所做的是创建一个格式化的 Excel 表,其中的公式引用回一个表格不同的excel表。 这样,我的程序所需要做的就是将所有计算值吐出到表中,然后数据就在那里供用户查看(并且很容易定制而不会弄乱我的程序)。
挑战在于,现在他们希望在 Windows 窗体上查看此数据的 大量 次迭代,因此,基本上我需要做的是每次他们想要查看新数据时,计算它在飞行中并重新展示给他们。
我发现 DataGridView 在这里使用起来非常困难,因为格式复杂,所以我要做的是向他们展示“输出”表(通过 webBrowser 控件,因为这就是我能找到的全部内容)和能够使用新数据不断更新“输入”表,以便输出表不断更新。
【问题讨论】:
-
请坚持提出您的问题,并跳过所有大写字母大喊大叫以引起注意
-
您的用户是否需要与摘要数据交互?如果不加载完整文件,汇总表的图像就足够了吗?您可以自动化 excel(甚至作为隐藏实例)来实现这一点。
-
如果您可以在表单中嵌入 PDF 查看器来代替 Web 浏览器,则 Excel 可以将特定范围导出为 PDF,然后您可以将其加载到表单中。或者,您可以将这种导出图像的方法移植到您的 .NET 应用程序:vbadud.blogspot.com/2010/06/…
-
这可以帮助您获得所需格式的剪贴板内容:csharphelp.com/2007/05/… C# 不是 VB,但应该可以翻译...
-
刚刚尝试了 C# 解决方案,效果很好。
标签: c# .net vb.net excel interop