子报表
子报表的介绍
在实际应用中,常常可以看到某个报表中间包含了一片或者多片单元格,这些单元格片段和报表往往有一个共同的关注对象,但是同时各自又有一个独立的主题,片与片之间往往没有任何关联。我们把这样的报表称为主子报表或者复合报表,有着共同主题的单元格片段称为子报表,而复合报表本身称为主报表。子报表按照引入方式不同分为:嵌入式子报表和引入式子报表。两种类型子报表的具体区别如下:
嵌入式子报表
嵌入式子报表的特点是在单元格中嵌入子报表,形成格中嵌表的模式,子报表和母报表的格线可以不对齐,子表间格线也可不对齐,子报表在展现、导出和打印时为图片。
嵌入式的子报表扩展后,是个独立的报表,因此子表源格一直保留着,母报表可以通过eval函数访问子报表的值。eval函数的使用方法参见:eval函数说明
引入式子报表
引入式子报表的特点是母报表单元格根据子报表的行数列数,双向同时扩展,子报表有几行几列,母报表中就扩展出几行几列,子报表占用母报表的空白行列,格线严格对齐,引入式子报表在展现、导出和打印时为表格。
引入式的子报表扩展后,和母报表形成了一个统一的二维矩形单元格,因此子报表的源格不保留,此时母报表不能访问子报表的值。
子报表的使用
要为某个报表插入子报表时,选中要添加子报表的单元格,通过菜单工具栏上的【插入】-【子报表】,弹出子报表添加界面。如下图所示:
名称
默认为subReport1,subReport2...依次递增,同一个主报表中子报表的名称不允许重复,用户可以使用默认名称,也可以手动修改为合适的名称。
引入方式
引入方式为嵌入式和引入式两种,嵌入式子报表与引入式子报表的区别参见:子报表介绍 。
路径类型与路径
路径类型分为资源列表、相对路径、绝对路径和URL。在选择路径类型,可以按照对应路径类型设置子报表的路径。
- 资源列表:将路径类型设置为资源列表后,再设置路径时,将弹出资源中心的资源列表供用户选择。
- 相对路径:路径类型为相对路径时,可以选择相对于报表根目录下的报表文件作为子报表。报表根目录可以通过【系统管理】-【服务器参数配置】进行设置。
- 绝对路径:报表存放的绝对路径。
- URL:URL类型可以访问的报表资源webURL地址。例如http://192.168.0.1.....
主报表中获取嵌入式子报表的值
可以在主报表中使用eval函数获取到嵌入式子报表单元格的值,具体使用说明: 参见:eval函数说明。
子报表的参数定义
参数定义是将主表和子表数据进行关联的桥梁,通过参数定义可以在子报表中获取到主报表单元格、参数或表达式运算后的结果值。
定义方法:
1.序号:自动生成参数序号,无需填写或修改
2.参数:子报表的参数名称。例如:arg1
3.对应值表达式:任意能够正常解析的润乾表达式
例如:
将主报表A1单元格的值传递给子报表的参数arg1,表达式为:=A1
将主报表的参数area传递给子报表的参数arg1,表达式为: =@area