长春图腾软件有限公司
一、 报表系统开发的目的
西北工业大学学报我们在进行软件开发的过程中,发现很多的客户定制的报表复杂,易变,计算规则也总在变化,造成了大量的软件维护工作。鉴于此种需求,我公司编写的报表生成器,是使用了一个华表的组件。华表是一款中国人自己设计的表格工具。它具备了很多新海岩三部曲
execl的功能。并且,一个最大的优点就是,它的组件只有1.31M那末大小,这一点是execle无法比拟的,所以作为mis 的系统的一个控件,他不会影响其程序的速度。而且也便于发布。并且,它的所有函数,都和pb 有接口。这就是我选择华表作为工具的一个最直接的理由。而且用cell设计出来的报表,格是统一,数据开放性很高。 二、 设计原理
主要算法:动态计算报表数据。建立中间表,其中包括报表维护,报表算法,报表规则,定义动态字典表。 南京建设工程信息网 原理:首先定义好模板,用cell做好的固定模式。只有列表头就可以了。因为如果行标头是一个字典表的话,那就可以动态填入。然后,定义报表。原理是从report_wh中提取字段,在report_sf中提取算法。并组合成为sql语句。然后保存在 report_formula中。在报表公式表中有一列或一行的sql语句。
例如如果定义的是列,则有此列的select 算法贺州水污染(字段)(report_wh中提取) from 表(report_wh提取)阿里木事迹where (定义中获得);
计算报表,实际就是提取有此张报表(*标示*repotr_id)的行数和列数.然后,做两个循环,循环填入此张报表中的数据。这样的话,就可以是实现了报表。
重点:是维护报表和算法及在设计报表之初,一定要定义好几张关键的基础表。一般一个项目的报表,大部分都来自,几个关键的基表。这样,如果维护一次,以后再有类似的报
表,就不用再维护了。这样就可以应付报表的多变。而且防止了很多的重复性编程。简单实用世界经济。