Web报表软件FineReport的死循环问题处理

1. 问题描述
Web报表软件FineReport中,有时预览一个报表模板或是做一个报表模板时,是否有时会出现报死循环类似的错误,那是什么原因出现这样的情况的呢?这个往往是由于设置的某个报表单元格的父格不当导致的
2. 产生错误的原因
2.1 设置某个报表单元格的左、上父格导致出现死循环
报错情况:
报表设计器预览报表时,报如下错:
报表设计器预览报错
或分页预览时,报如下错误信息:
报表分页预览报错
分析:看了如上错误信息后,我们来看下报表模板的设计界面:
图1:
报表模板设计界面1
图2:
报表模板设计界面2
会发现设计报表模板中,B4单元格的左父格,设置为D4了(图1),而C4与D4单元格,是不扩展的且这里是默认的,那就是C4与D4单元格的左父格均默认为B4(图2),即这里B4单元格的左父格,设置为D4且D4单元格的左父格均默认为B4,就矛盾,出现了逻辑错误。而把B4单元格的左父格,设置为默认后,即左父格为默认A4,这样就不会出现死循环的问题了。
解决方案:分析检查下报错信息中相关的报表单元格,看其左、上父格的设置是否存在矛盾的地方。
2.2 设置某些公式导致出现死循环
报错情况:
某些公式的设置,如:在某个单元格中输入=range(255),在不设置扩展时,报表设计器预览,会报如下错:
公式设置报错
接下来,我们看下这个报表模板的设计界面,如下:
报表模板设计界面3
分析:这里您设置的是一个单元格占用一行的,在显示255个数的时候,由于单元格默认是设置自动调整行高,所以此时单元格就会根据内容自动将单元格高度拉伸了。即实际是把一格的行高变为大于一页的高度了,所以就会报如上的错误。因此,要解决这个问题,我们可以使之一格占多行,让其分割开来显示,即:使之拆分为多行进行计算,这样就可以把一格的行高变为大于一页的高度,这样分页就不会再有问题了。
原因:我们进行分页计算时,是按行为单位的。这里255个数只用一格在一页中是显示不完的,超过了一页的高度。如一页,高度为400是放不下高度为500的行的,此时就会出问题。
注意:报表单元格的高度是不能超过页面的设置高度。
解决方案:合并几个报表单元格,使一格占多行,这样分页就不会有问题了。
2.3 其他原因
可能有时死循环错误信息,并不能真正看出其真实的错误原因,那么在检查过某些单元格的父格及公式设置正确后,若仍然出现如上问题,则可以找我们的技术支持,帮您具体看一下问题,看看其他方面可能出现的原因。
立即发现·数据价值

推荐阅读

→ 怎样用图表分析数据(一) → 一款简单、实时、酷炫的图表制作软件 → 生产报表的自动化实现方案 → 可视化分析平台对企业作用几何? → 帆软报表平台的使用方法 → 用了这款自动化表格制作软件,跟手工表格说再见 → 怎样用图表分析数据(二) → 如何搭建科学的MES报表系统? → 对企业而言,为何要选择优质的内部报表系统? → 3步搞定销售分析报表
版权所有©2017 南京帆软软件有限公司 | 苏ICP备14031611号-3
返回顶部