您的位置:首页 > 其它

报表设计技巧-交叉报表模板

2009-05-18 10:00 465 查看
传统的报表开发文章核心都是在介绍如何设置报表格式,标题、字段、如何获取数据什么的。这只是报表设计的入门而已,此文不在此论述。此文只论述批量设计报表的技巧 - 交叉报表模板。

传统思想看来,开发每张报表时都需要设计一张报表文件,这似乎是合情合理的。但在实际开发中,这种做法是极端耗费精力的(此后省略500字),反正我是不愿意这么做。

这个方法也是同事教我的,可采用交叉报表来简化报表设计步骤,在此借花献佛吧:

以crystal report为例(java的可试试jasper)

(1)预先定义水晶报表交叉报表模板。如:

cross_1x1.rpt

cross_2x1.rpt

cross_3x1.rpt

cross_2x2.rpt

....

(2)这些报表模板的字段名写死,如:

column1

column2

column3

column4

column5

...

value

(3)采用推模式为报表提供数据

用代码获取数据(注意字段和报表模板的字段一致),再将数据推给水晶报表展示

(个人认为拉模式是相当鸡肋的,这种方法将数据获取的步骤写死在报表文件里面,在实际应用中相当的不灵活)

效果:

(1)如以下数据:

column1 column2 value

瑞安 电话 1000

瑞安 宽带 2000

温州 电话 3000

温州 宽带 4000

...

(2)使用交叉报表模板 cross_1x1.rpt 展示效果为:

电话 宽带 合计

瑞安 1000 2000 3000

温州 3000 4000 7000

合计 4000 6000 10000

故,报表开发人员的工作可简化为:

(1)设置报表条件:这个步骤也可以用配置文件自动生成

(2)获取报表数据:根据传递用户设置的条件获取数据

(3)指定报表模板

这样,开发人员工作重心就可以移到获取数据上面,无需和UI打交道,可大大提高了报表设计的工作效率,这在实际工作中是相当便利的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: