Posted on 2010-02-05 17:22
FineReport——报表技术领跑者 阅读(156)
评论(0) 编辑 收藏 所属分类:
Java报表技术知识
看如下报表:
这个报表中,淡蓝色背景的单元格都属于没用的单元格,但是很多时候必须留着占位用。同时我们可以通过FineReport设计器的一个巧妙的办法发现潜在的非空空白单元格。注意FineReport设计器用深灰色标记出了非空格子的区域,如果某个格子非空,那么这个格子所在行和列之前都会标记为深灰色。很多时候,我们做完一个报表需要很多的删改,因此会多出很多冗余的单元格,但是我们又忘记将其清除,影响性能。
清楚冗余单元格如下,选择冗余格子区域|右击|清除|全部
清除空白列如下,选中空白列|右击|删除列
FineReport报表模型是规整的矩形格子组成的一张大表,不可能在中间或者边上挖去一块,因此你会发现报表中时常会多出一些无谓的占位格。虽然FineReport模型针对这已经做出了优化,但在内存中,一个单元格代表一个对象,就要占用一块内存,虽然,因此单元格越少越好,这种情况下可以尽量使用空白单元格。这种效果在数据量小的时候不是特别明显,但是对于大数据量的报表来说,减少冗余单元格可以减少不少内存占用。
空白单元格在内存中是个null,基本不占用内存,因此对于报表边上、中间一些占位格,尽量设成空白单元格,这样既达到了占位的效果,又不会占用内存。