多sheet应用

编辑
文档创建者:文档助手1 (67727 )     浏览次数:8012次     编辑次数:11次     最近更新:jiangsr 于 2017-11-16     

目录:

1. 描述编辑

多sheet报表在实际项目中应用是比较广泛的,相比较于单sheet报表,多sheet报表一般性功能不会特别的复杂,下面介绍几个多sheet里面的典型应用。

2. 重新加载当前sheet编辑

在对当前sheet进行编辑的时候,比如说需要点击某个按钮刷新重新加载当前sheet,如下图:
222
刷新当前sheet会清除当前sheet的编辑痕迹,而不影响到其他sheet。
打开设计器,选中刷新按钮,为该按钮添加一个点击事件,如下图:
js代码为:
contentPane.reloadCurLGPPane();

3. 跨sheet校验编辑

在对多sheet进行填报的时候,往往需要从其他sheet取数参与计算,或者以其他sheet的数据为依据,对当前sheet的填报数据进行一定的约束,这个就是跨sheet校验。
跨sheet校验应用在两个方面:提交校验js校验
提交校验
在提交数据之前对数据进行校验,比如说,当前模板有2个sheet,sheet1里面的某个数据与sheet2里面的某个数据的和必须满足特定条件。
如下图,点击模板>报表填报属性,切换到数据校验标签,添加一个内置校验,校验公式为sheet1!A2+sheet2!B2>1000,校验出错信息为shee1的A2单元格与sheet2的B2单元格和值太小

注:校验公式中直接跨sheet取数进行计算,跨sheet取数详细请查看多sheet数据计算
js校验
使用js对多sheet进行校验,原理是将其他sheet的数值通过FR取数方法赋值给js里面定义的参数,然后参与校验。
比如说,在编辑sheet2里面的B2单元格的时候,如果sheet1的A2单元格与sheet2的B2单元格的和小于1000,则提示警告,如下图:
222
给sheet2的B2单元格的控件添加一个编辑结束事件,如下图:
js代码为:
var para=contentPane.getCellValue(0,0,1);//获取sheet1里面的A2单元格数据 var value=this.getValue();//获取当前单元格数据 var sum=parseInt(para)+parseInt(value);//将字符串转换为整形并求和 if(sum<1000){alert("shee1的A2单元格与sheet2的B2单元格和值太小");}
由上图的js代码可知,在js中进行跨sheet校验,获取其他sheet的单元格值可通过方法contentPane.getCellValue(sheet号,列号,行号); //sheet号,列号,行号是从0开始来获取,详细请参照填报预览JS实例

4. 多sheet相互依赖关系编辑

在多sheet引用中,sheet间存在相互依赖的关系。

新建3个sheet,将sheet分别重命名为A、B、C,报表设计如下图所示:

sheet1(重命名为A):

sheet2(重命名为B):

注:若在sheet2中,见A2单元格公式改为='A'!A2,那么sheet1和sheet2就会出现由于依赖关系引发的计算错误,sheet1和sheet2的A2单元格都不能显示。

sheet3(重命名为C):


点击数据分析预览,效果如下图:
222
222
222

附件列表


主题: 填报应用
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

此页面有帮助吗?