在各个领域,优化工作是件很繁琐的事情,报表优化也不例外。如何让设计报表、渲染报表、处理报表达到最佳状呢?今天我们就来解决这个困扰用户们的难题。
报表优化主旨在运用报表软件提高工作系统和工作进程效率。今天为大家提供以下几点,帮助大家节约报表生成时间,提高工作效率。
以下示例均为Stimulsoft Report制作,所以,你可以下载他边看边操作
就报表设计来说,优化要基于两个方面:
第一,提高报表渲染速度
第二,减少内存占用
一、数据
要提高报表渲染速度,就只需要在数据库选择需要的数据。也就是说,其他不需要的就不选。例如:如果只有很少的表和字段,就不需要在数据库添加所有的数据。不然,太多的数据将会被读取,更不用说花费的时间了。此外,还应该有逻辑地在SQL中运用WHERE条件。而这些条件会被提交至SQL过滤器而不会被提交至过滤器的数据带中。使用过滤器,只会显示很小的一部分记录,这些结果就是我们需要的。这个方法可以提高展示效率。
另外,你可以在数据带Filter Engine属性设置SQL查询值,将会自动添加在SQL查询中WHER条件。
二、图片
图片优化在渲染报表优化步骤中也很重要。在大多数情况下,报表中高分辨率的图像和高质量图片是没必要的。为了降低内存占用量,我们可以适当减小图片尺寸。最佳选择就是不用Stretch p_w_picpath属性来得到理想的图片效果。
三、富文本
使用常规定制组件代替富文本组件。因为富文本组件在某些方面比较复杂,进程中可能出错。例如:在网络中,富文本编辑器不会展现,因此富文本组件输出Excel文件为图片,然后,编译或者导出整个文件就会有些麻烦。
四、单页
渲染报表的时候,有时候所有组件不会展现在同一页。典型的例子,用户在下一页转移过多的页面,在一页上用一个数据带为其分组,或者使用Sub-Report组件,将会耗费时间。
为了提高报表渲染速度,建议使用Large Height属性,因为他可以将你的报表页面设置为一个合适的大小。
五、分组
为了调高报表渲染速度,我们需要移除渲染报表中不必要的部分。例如:用GroupHeader组件分组。用户分组方式多种多样,比如用ID、名称、描述等分组,其实用ID分组就足够。当然定义复杂条件分组也是可以的,比如:基于多个领域的条件创建分组,你只需要一个组件将所有条件与单组连接。这样可以代替5~6个GroupHeader组件,这样就可以提高报表创建速度,简化报表结构。
转载于:https://blog.51cto.com/evget/1285364