以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  运行帮助文件提供代码提示如下错误 "Book.SaveToPDF(rpt) '保存为pdf文件 执行这句  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144758)

--  作者:xa139
--  发布时间:2019/12/29 5:04:00
--  运行帮助文件提供代码提示如下错误 "Book.SaveToPDF(rpt) '保存为pdf文件 执行这句

在窗口显示生成的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编辑过]

--  作者:有点蓝
--  发布时间:2019/12/29 21:01:00
--  
这种一般是按照的pdf软件和execl有冲突导致的,试试:https://www.cnblogs.com/angel-J/p/7527065.html