以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Java/Eclipse 』  (http://bbs.xml.org.cn/list.asp?boardid=41)
----  报表性能优化系列专题二——减少冗余单元格[原创]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=41&rootid=&id=79704)


--  作者:niceman007
--  发布时间:1/27/2010 2:33:00 PM

--  报表性能优化系列专题二——减少冗余单元格[原创]

看如下报表:
]http://www.finereport.com/forumimages/a57.png
这个报表中,淡蓝色背景的单元格都属于没用的单元格,但是很多时候必须留着占位用。同时我们可以通过FineReport设计器的一个巧妙的办法发现潜在的非空空白单元格。注意FineReport设计器用深灰色标记出了非空格子的区域,如果某个格子非空,那么这个格子所在行和列之前都会标记为深灰色。很多时候,我们做完一个报表需要很多的删改,因此会多出很多冗余的单元格,但是我们又忘记将其清除,影响性能。
清楚冗余单元格如下,选择冗余格子区域|右击|清除|全部
http://www.finereport.com/forumimages/a58.png

清除空白列如下,选中空白列|右击|删除列
http://www.finereport.com/forumimages/a59.png


FineReport报表模型是规整的矩形格子组成的一张大表,不可能在中间或者边上挖去一块,因此你会发现报表中时常会多出一些无谓的占位格。虽然FineReport模型针对这已经做出了优化,但在内存中,一个单元格代表一个对象,就要占用一块内存,虽然,因此单元格越少越好,这种情况下可以尽量使用空白单元格。这种效果在数据量小的时候不是特别明显,但是对于大数据量的报表来说,减少冗余单元格可以减少不少内存占用。
空白单元格在内存中是个null,基本不占用内存,因此对于报表边上、中间一些占位格,尽量设成空白单元格,这样既达到了占位的效果,又不会占用内存。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms