报表模版复用

多个结构相同的数据表,需要同一个报表模版打印,我们只需在生成报表之前,将模版中定义细节区的表名设置为要打印的表名即可。

例如我们设置下图所示的一个模版,显然默认情况下,这个模版只能打印订单表的数据:

假定我们要用这个模版,打印一个名为“窗口1_Table1”的表中的数据,可以参考下面的代码:

Dim Book As New XLS.Book(ProjectPath & "Attachments\订单.xls") '打开模板
Dim
fl As String = ProjectPath & "Reports\订单.xls"
Dim
Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(
3,0).Value = "<窗口1_Table1>"  '写入表名
Book
.Build() '生成报表
Book
.Save(fl)
Dim
Proc As New Process
Proc
.File = fl
Proc
.Start()

必须将表名写入准确的位置,模版中行和列的编号都是从0开始的额,切记。

如果是多行细节区,例如:

记得两处细节区的定义都需要替换:

Dim Book As New XLS.Book(ProjectPath & "Attachments\资料卡.xls") '打开模板
Dim
fl As String = ProjectPath & "Reports\资料卡.xls"
Dim
Sheet As XLS.Sheet = Book.Sheets(0)
Sheet
(1,0).Value = "<窗口1_Table1, 1>"  '细节区定义一
Sheet(
11,0).Value = "<窗口1_Table1>"  '细节区定义二
Book
.Build() '生成报表
Book
.Save(fl)
Dim
Proc As New Process
Proc
.File = fl
Proc
.Start()


本页地址:http://www.foxtable.com/webhelp/topics/2627.htm