在窗口显示生成的Excel报表
在介绍Excel报表的时候,我们都是利用Excel来显示和打印Excel报表。
借助WebBrowser控件,你可以在窗口中显示、编辑和打印生成的Excel报表。
示例一
在窗口中加入一个WebBrowser控件,窗口的AfterLoad事件代码设置为:
Dim wbr As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
Dim tmp As
String = ProjectPath &
"Attachments\资料卡.xls"
Dim rpt As
String = ProjectPath &
"Reports\资料卡.xls"
Dim Book As New XLS.Book(tmp)
Book.Build()
Book.Save(rpt)
wbr.OfficeToolBar = True
'如果不需要显示工具栏,可删除此行代码
wbr.AddRess = rpt
这样一打开窗口,就会自动在窗口的WebBrowser控件显示生成的Excel报表。
重要提示:
1、如果执行上面代码的时候,没有在WebBrowser显示Excel报表,而是在一个新的IE窗口显示,那么请双击Foxtable目录下的Office.reg文件,将其添加到注册表中。
2、在WebBrowser显示的Excel菜单缺少包括打印命令的程序菜单,你可以按快捷键“Ctrl+P”打印,或者自定义Excel的快速访问栏,把打印命令加上去。
示例二
为了避免用户修改生成好的Excel报表,我们可以将报表保存为PDF文件,然后再显示在窗口中,例如:
Dim wbr
As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
Dim tmp
As
String =
ProjectPath & "Attachments\资料卡.xls"
Dim rpt
As
String =
ProjectPath & "Reports\资料卡.pdf"
Dim Book
As New XLS.Book(tmp)
Book.Build()
Book.SaveToPDF(rpt)
'保存为pdf文件
wbr.AddRess = rpt
提示:为了能在WebBrowser显示pdf文件,请先安装PDF阅读软件,例如:Adobe Reader X
-----------------------------------------------------------------------------------------------------运行以上帮助文件提供代码时提示如下错误
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2019.11.3.1
错误所在事件:窗口,窗口1,AfterLoad
详细错误信息:
服务器出现意外情况。 (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT))
[此贴子已经被作者于2019/12/29 5:13:52编辑过]