一、报表工具列表分析
目前市面上活跃的报表工具真不少,对于一个对初涉报表开发邻域的程序员来说,要正确选择一款合用的报表工具绝非易事。作为一个有20年程序人生,以及有近10年报表工具开发经历的程序员,在此想把我选择报表工具的一些看法抛出来供大家参考。毫不避讳的说,本人就是锐浪报表的开发者,写着篇短文的目的也是为了顺便宣传锐浪报表,但我还是力求以客观公正的心态提供一些参考信息。
下面的表格对当前市面上最活跃的报表工具进行一些分类整理,首先就分类方式进行一些说明:
类型:目前报表工具主要有两种类型,一种是类似Excel表格方式,一种是条幅式方式,也称条带式。类Excel适合做复杂*表格式报表,条幅式适合做动态数据伸展类报表。目前国产报表工具都对这两种方式进行了很好的结合,以便满足中式复杂表格报表的要求。
费用:分是否需要付费购买使用。
C/S:是否支持C/S桌面报表开发。
B/S:是否支持B/S(WEB)报表开发。
适用平台:可以再哪些开发平台与开发语言下使用。
报表工具名称 | 类型 | 费用 | 产地 | C/S | B/S | 适用平台 |
水晶报表 | 条幅式 | 免费用 | 国外 | 支持 | 支持 | 微软.NET平台,C#, |
微软RDLC报表 | 条幅式 | 免费用 | 国外 | 支持 | 支持 | 微软.NET平台,C#, |
ActiveReport | 条幅式 | 收费 | 国外 | 支持 | 微软.NET平台,C#, | |
FastReport | 条幅式 | 免费用 | 国外 | 支持 | Delphi、C++Builder | |
用友华表Cell | 类Excel | 收费 | 国产 | 支持 | 支持(插件) | 主流开发语言都支持 |
锐浪报表Grid++ | 条幅式 | 收费 | 国产 | 支持 | 支持(插件) | 主流开发语言都支持 |
ChinaExcel | 类Excel | 收费 | 国产 | 支持 | 支持(插件) | 主流开发语言都支持 |
润乾报表 | 类Excel | 收费 | 国产 | 支持 | Java | |
帆软FineReport | 类Excel | 收费 | 国产 | 支持 | Java |
二、关于ActiveX控件类产品的说明
用友华表、锐浪报表与ChinaExcel都是ActiveX控件类产品,所以其支持的开发语言都非常广泛。其对WEB报表的支持都是客户端插件,客户端在初次访问报表时会自动下载安装插件,报表运行是在客户端,服务器负责提供报表数据即可。因为在WEB服务器上不用驻留报表本身的程序,所以其支持的开发语言非常多,如:、java(jsp)、php、asp,各种WEB服务器也都支持。但这种方式也是其它WEB报表工具厂商经常诟病的地方,见仁见智,稍后我会就这方面进行一些专门说明。
如果要在WEB软件中实现票据打印或报表的直接打印,建议选用ActiveX控件类报表工具。如果要支持广泛的浏览器查看报表,应该选用服务器类报表工具,即报表生成是在服务器上,通常是产生HTML表格代码供浏览器展现,也有产生PDF文档的,这就要求客户端必须安装PDF阅读器。
三、更多其它说明
- 国外的产品基本都可以免费用,但并不代表这些产品是免费产品,大的软件厂商应该考虑这方面的版权问题。
- 用Java开发的产品通常也只支持在Java下开发,如:润乾报表与FineReport。Java目前基本是用来开发B/S软件的,这种类型的产品也只支持WEB开发。国外开源的java开源报表工具很多,请参考 /,这里这里的说明。
- BI产品与报表开发也是息息相关的,但因其非平民百姓所能亲近,这里就不列出相关产品。国内也有很多号称BI的产品,基本也就是拿自己开发的报表框架去做项目,为公众程序员提供报表工具不是他们的目标。
- 如果中式报表特殊需求比较多,用国外产品会有一些难实现的地方,如果银子许可,建议用国产报表工具。
四、按开发语言重点推荐:
- .NET平台(C#&)桌面开发:水晶报表与RDLC是不二选择,目前是水晶报表更多人用,从发展角度来说RDLC更合适。水晶报表部署起来比较麻烦,不太适合产品类型软件公司。
- .NET平台(C#&)WEB开发:还是水晶报表与RDLC是不二选择。如果有直接打印与复杂表格需求,希望报表功能做得与桌面软件一样强大易用,建议国产插件类产品。
- Delphi与C++Builder:FastReport是最佳选择,锐浪报表也不错,就是要银子。
- Java报表:润乾报表很好,价格较贵。如果不在意插件方式,选择插件类产品是低成本解决方案。国外开源产品也值得认真考察。开发Java软件的公司多数都是做大项目的,很多公司都有自己开发报表框架,但项目中的直接打印需求很难满足,很多客户因此选择了锐浪报表。
- PHP报表: PHP基本是用来开发网站,对报表需求很少。如果有票据打印与套打需求,只能找ActiveX插件类报表工具来帮忙。
说明:以上推荐基本都是国外产品,并不代表国外产品在功能上更好,只是从资金上考虑,免费不花钱也是大多数人要考虑的第一要素。本人的观点是:中国式报表用国内报表工具开发更合适,有购买资金的朋友要把考察的重点放在产品功能上。
五、关于国产报表工具
- 在国外的报表工具基本都能免费用的环境下,国产报表工具能有生存空间,也证明了其存在的价值,说明这些工具确实解决了中国式报表开发的一些难题。
- 每年都会有几个国产报表工具冒出来,同时也会有几个国产报表工具归于沉寂。以上提及的产品都有超过6年的开发时间,经受了足够时间的考验。国产报表工具厂商总体来说生存不一,就拿自身来说,我们不缺用户,但缺少愿意花钱购买的用户。
- 前几年有几个国产报表是在国外有源码产品基础上开发封装的,其信息在网络上比较常见,但目前已经处于停滞休眠状态,请大家仔细甄别。
- 本人就是锐浪报表Grid++Report的开发者,我当然最认可自己产品,在本文中是尽力克制对锐浪报表的涉及,但还是真心建议软件开发领域的朋友了解下锐浪报表,它确实非常适合软件公司用。
六、结束语
虽然浸淫在报表开发邻域有很多年,但这个领域的产品确实太多了,只是尽力列出自我认可且比较熟悉的产品,如果列出太多的选择,又会引入选择的困境。受个人知识局限,以上信息难免有失偏颇与遗漏,希望大家批评指正,我会根据大家的意见进行补充完善,能为大家选择报表工具提供更好的帮助。
总之,首先大家根据自己的所用开发语言选工具,然后根据资金预算选工具,如果要免费用就选国外产品, 如果有资金预算,就重点考察下国产工具,如果价格在资金预算范围内,就重点进行功能性能方面的深入考察。
原文地址:/report/archive/2010/07/22/
以下是我的观点,国内企业开发中,中国式报表居多,而且是给领导看的。
感觉类Excel类报表用友华表Cell,类水晶报表可用Grid Report
JAVA平台开发可用润乾、Fine Report、炎鼎数据报表(视项目中报表的采购经费来定)