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

解决方案 »

  1.   

    可以试试FineReport.
    它主页上的说可以将“西式报表系统”和“报表组件”,紧密结合。
    http://www.finereport.com
      

  2.   

    jasperreport不错,免费,自定义强。带有很多例子
      

  3.   

    >>收集完参数传给生成报表的Action后自动生成查询结果的页面。
    你要一个把报表逻辑放到action的东西,这样的结构可不好这和Struts没什么关系,建议用Jasper Report.
    如果有钱的话,Crystal Report, Actuate都可以。