BI(商业智能)是企业信息化的最后一公里。好的报表系统能够快速,敏捷的提供分析数据给用户。
**一个好的报表系统,需要满足一下条件。 **
1.支持动态多数据源。一个上规模的系统往往有多重多样的系统,就有多种多样的系统。动态:是指报表系统不应该是完全有代码来实现。而是可以配置的,降低耦合度。我只需要提供sql语句,并配置一下搜索条件,就应该能满足大部分需求了,不满足的话,进行针对性的开发,减少开发量。
2.支持,excel,pdf,word,image的导出。excel导出最好是能多sheet的,比如也能进行分页。
3.支持查看图表结构的,这样数据才能变得更生动。当然也可以通过导出的excel进行图标切换,但是那个也要多一个流程。
具体到使用技术的话
JXLS是基于Jakarta POI API的(1.X版本是这样的,2.X版本有两种实现方式,一种是poi,一种是jexcel)Excel报表生成工具,可以生成精美的Excel格式报表。它采用标签的方式,类似JSP标签,写一个Excel模板,然后生成报表,非常灵活,简单!
个人觉得,2.X版本会更加强大。
现在前端的一些技术也很强大,可以生成csv文件格式等。
关于报表,最近在git.oschina.net上搜索一番,发现比较好的有JRelax-BI,CBoard,R3-Query,EasyReport。我整合了EasyReport,但是其他的,整合还是需要技术调研。但是有一个自己的BI系统,是一件幸福的事。
今天我看到了一个JasperReports® Library Open Source Java Reporting Library 这个开源的报表系统,有空可以去研究一下。