历史版本13 :跨sheet联动填报 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1问题描述

报表之间可以通过参数或超链接等传递数据,同一个模板中多个 sheet 间是无法用参数和超级链接进行传值的,那如何实现在一个 sheet 中取另外一个 sheet 某个单元格的值?即如何实现跨sheet取数呢?

1.2实现思路

可以在FineReport 报表中通过使用:sheetname!cellname 来实现跨 sheet 取值。但若sheetname中包含中划线、下划线等特殊字符就需要给 sheetname 加上单引号,则公式为:'sheetname'!cellname

注:若前面的 sheet 中使用跨 sheet 公式取后面 sheet 中的值,且公式要用在超链接、公式形态、条件属性中时,必须要在前面 sheet 的单元格中使用跨 sheet 公式。

2. 示例编辑

下面我们使用多 sheet 填报的简单例子来实现订单 sheet 中的总金额是订单明细 sheet 中的某个单元格数据+当前 sheet 某个单元格的值

2.1 打开模板

打开模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\MultiSheetReport\简单多sheet填报.cpt

2.2 订单sheet修改

1)右击 D8 单元格,选择清除>内容,然后在 D8 单元格中填入公式:='订单明细'!H4+B6,即 D8 的值是订单明细表中的 H4 单元格的值加上当前 sheet B6 单元格的值。

图片.png

2)然后在 D8 单元格中填入公式:='订单明细'!H4+B6 ,即 D8 的值是订单明细表中的 H4 单元格的值加上当前 sheet B6 单元格的值,如下图所示:

图片.png

注:计算时,一定要在公式定义对话中勾上“填报/分析时,保留公式用于计算”前面的选择框。

2.3 订单明细 sheet 修改

在 H4 单元格填入公式:=C4*D4*(1-E4),然后将 H4 的列宽 隐藏 ,如下图所示:

图片.png


2.4 效果查看

1)PC端

点击填报预览即可查看效果。在线查看模板效果请点击 MultiSheet1.cpt

2.GIF

2)移动端

1601183348940030.gif

3.模板下载编辑

具体的模板设置可参考模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\MultiSheetReport\MultiSheet1.cpt

点击下载模板:MultiSheet1.cpt