报表模版复用
多个结构相同的数据表,需要同一个报表模版打印,我们只需在生成报表之前,将模版中定义细节区的表名设置为要打印的表名即可。
例如我们设置下图所示的一个模版,显然默认情况下,这个模版只能打印订单表的数据:
假定我们要用这个模版,打印一个名为“窗口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()