使用报表工具经验总结

1.市场报表开发工具产品分类
目前,市场上常见的用于报表开发的工具性软件主要有两大类:报表组件(控件)类、西式报表系统,各有优缺点。
1.报表组件(控件)类
这类软件通常是ActiveX控件或Java Applet组件,主要解决报表在浏览器中格式化显示和打印的问题,这类软件中仿照微软Excel功能实现的报表组件最具有代表性。其优点是以网格单元格实现报表格式,能够方便的实现复杂的报表格式;其缺点是对数据库的支持能力弱,即使能够自动填充数据库的数据,无法简单实现数据组织复杂的报表类型,只能通过编程逐个单元格填充数据,报表的后期维护工作量大,开发复杂报表时比较繁琐。由于这类软件重点关注于报表格式方面的功能,缺乏按照一定报表模型组织报表数据的能力,只能通过编程获取报表数据。因此,这类产品开发报表时,编码的工作量大,后期维护困难。
2.西式报表系统
这类软件多是国外成熟的报表系统,最具代表性的是Crystal Report,国内近些年也有类似仿制产品推出,如:数巨报表。这类报表软件基于西方报表模型设计实现报表,对数据库数据源具有很好的支持能力,能够开发复杂的报表。当报表格式相对简单和数据组织比较有规律时,可以很方便套用其提供的报表类型轻松实现,这类软件实现中国式报表的封闭网格线是通过其报表元素对象的边框线拼接而成。因此,当开发一些格式复杂而且报表含有多个数据源时,往往需要通过复杂的编程才能够实现。

一个韩国人开发的Excel工具很不错,可以在服务器端生成Excel表格,传到客户端。

我们自己开发了Web报表模块,不是ActiveX,也不是Applet,纯B/S方式的。但是要求客户端必须是IE6。
特点是:紧密结合DTO或Rowset;打印和打印预览;定制页面;定制分页;定制不规则报表。
主要利用了XML。
感觉十分好用,尤其是结合DTO,可以在任何使用dto模式的项目中无缝嵌入。用的时候向Servlet发送数据和报表ID即可,不需要写任何代码。

我以前看到过一个在浏览器中实时修改Excel文件,然后按专门的确认键,就可以将修改后饿Excel报表内容提交到服务器中,已经忘记是什么软件了,有记得的希望提醒一下。

cats_tiger 这种设计总体不错,但是直接操作RowSet不是很好,报表的输出也需要通过应用服务器的权限ACL这一关啊。


banq, 你所看到的难到是我开发的报表,好象是基于CELL5.5的.

现在流向XMLHTTP+XSLT的报表,多数据源不是问题!

这几天研究了一下jasperreport,感觉很不错,无论是在jsp或者在applet使用都很方便

山东中创 倒是有一个报表工具,能够在客户端打印 打印预览,直接导成excel或者pdf,这个工具对于制作复杂的网格报表确实能够节省很多的时间,感觉还是挺好用的。
不过现在这个工具当前还有一些小问题,比如客户端需要下载一个比较大的查件

从Rowset读取数据也是不得已,要兼容以前的一些做的不好的项目。而且,Cached Rowset也是数据传送的一种不错的方法。
这个模块是独立的,根其他的逻辑(比如Banq说的权限)是完全隔离的。模块的唯一目的是:让浏览器象Word一样打印报表。

当然一些开源的报表也是很不错的
说实话,国内的商业产品不见得就比开源的东西好多少,也就是多了一些支持的服务,差不到文档的地方可以问他们

报表需求一直是软件开发中遇到的需求;不论是单机时代还是c/s以及现在的b/s时代,在这些技术革新的路途中,报表是我们必遇的需求。
从我的个人开发经验来看,报表工具(中间件)在使用的时候不能太复杂,代码量不能太多,毕竟报表的需求是一个整个软件系统的一部分,不能因为报表的工作量而影响这个项目的进展。所以从我的角度来看,使用报表工具时代码量不能多,越少越好。还有一点是,和应用的结合方便,也就是说,工具的使用不能影响我的整个项目的架构。
总结起来说,在选择报表工具,或者开发报表工具的时候,有下面两点必须重视:
1.易用性。
2.集成性。

新东50 于济南
05-03

前两天研究了一下 Formula One 的2个报表的引擎,很方便也很好用,大家用过没有?

Formula One是好用,不过价格太贵了

单纯的数据报表只要jsp在浏览器里显示的时候调用word,excel就可以了,图形报表以前用过一个叫BO的报表工具,感觉还比较简单!

在作日本项目,
日本人用的技术比较封闭,大都是自己的产品
当然冲本国利益出发,是正确的选择.
名字叫SVF,输出的是PDF格式,这一点是我欣赏的,不太在同excel