主流报表工具推荐

一、报表工具列表分析

目前市面上活跃的报表工具真不少,对于一个对初涉报表开发邻域的程序员来说,要正确选择一款合用的报表工具绝非易事。作为一个有20年程序人生,以及有近10年报表工具开发经历的程序员,在此想把我选择报表工具的一些看法抛出来供大家参考。毫不避讳的说,本人就是锐浪报表的开发者,写着篇短文的目的也是为了顺便宣传锐浪报表,但我还是力求以客观公正的心态提供一些参考信息。

下面的表格对当前市面上最活跃的报表工具进行一些分类整理,首先就分类方式进行一些说明:

类型:目前报表工具主要有两种类型,一种是类似Excel表格方式,一种是条幅式方式,也称条带式。类Excel适合做复杂自由表格式报表,条幅式适合做动态数据伸展类报表。目前国产报表工具都对这两种方式进行了很好的结合,以便满足中式复杂表格报表的要求。
费用:分是否需要付费购买使用。
C/S:是否支持C/S桌面报表开发。
B/S:是否支持B/S(WEB)报表开发。
适用平台:可以再哪些开发平台与开发语言下使用。

报表工具名称类型费用产地C/SB/S适用平台
水晶报表条幅式免费用国外支持支持微软.NET平台,C#,VB.NET
微软RDLC报表条幅式免费用国外支持支持微软.NET平台,C#,VB.NET
ActiveReport条幅式收费国外支持 微软.NET平台,C#,VB.NET
FastReport条幅式免费用国外支持 Delphi、C++Builder
用友华表Cell类Excel收费国产支持支持(插件)主流开发语言都支持
锐浪报表Grid++条幅式收费国产支持支持(插件)主流开发语言都支持
ChinaExcel类Excel收费国产支持支持(插件)主流开发语言都支持
润乾报表类Excel收费国产 支持Java
帆软FineReport类Excel收费国产 支持Java

二、关于ActiveX控件类产品的说明

用友华表、锐浪报表与ChinaExcel都是ActiveX控件类产品,所以其支持的开发语言都非常广泛。其对WEB报表的支持都是客户端插件,客户端在初次访问报表时会自动下载安装插件,报表运行是在客户端,服务器负责提供报表数据即可。因为在WEB服务器上不用驻留报表本身的程序,所以其支持的开发语言非常多,如:asp.net、java(jsp)、php、asp,各种WEB服务器也都支持。但这种方式也是其它WEB报表工具厂商经常诟病的地方,见仁见智,稍后我会就这方面进行一些专门说明。

如果要在WEB软件中实现票据打印或报表的直接打印,建议选用ActiveX控件类报表工具。如果要支持广泛的浏览器查看报表,应该选用服务器类报表工具,即报表生成是在服务器上,通常是产生HTML表格代码供浏览器展现,也有产生PDF文档的,这就要求客户端必须安装PDF阅读器。

三、更多其它说明

  1. 国外的产品基本都可以免费用,但并不代表这些产品是免费产品,大的软件厂商应该考虑这方面的版权问题。
  2. 用Java开发的产品通常也只支持在Java下开发,如:润乾报表与FineReport。Java目前基本是用来开发B/S软件的,这种类型的产品也只支持WEB开发。国外开源的java开源报表工具很多,请参考 http://www.open-open.com/19.htm,这里这里的说明。
  3. BI产品与报表开发也是息息相关的,但因其非平民百姓所能亲近,这里就不列出相关产品。国内也有很多号称BI的产品,基本也就是拿自己开发的报表框架去做项目,为公众程序员提供报表工具不是他们的目标。
  4. 如果中式报表特殊需求比较多,用国外产品会有一些难实现的地方,如果银子许可,建议用国产报表工具。

四、按开发语言重点推荐:

  1. .NET平台(C#&VB.NET)桌面开发:水晶报表与RDLC是不二选择,目前是水晶报表更多人用,从发展角度来说RDLC更合适。水晶报表部署起来比较麻烦,不太适合产品类型软件公司。
  2. .NET平台(C#&VB.NET)WEB开发:还是水晶报表与RDLC是不二选择。如果有直接打印与复杂表格需求,希望报表功能做得与桌面软件一样强大易用,建议国产插件类产品。
  3. Delphi与C++Builder:FastReport是最佳选择,锐浪报表也不错,就是要银子。
  4. Java报表:润乾报表很好,价格较贵。如果不在意插件方式,选择插件类产品是低成本解决方案。国外开源产品也值得认真考察。开发Java软件的公司多数都是做大项目的,很多公司都有自己开发报表框架,但项目中的直接打印需求很难满足,很多客户因此选择了锐浪报表。
  5. PHP报表: PHP基本是用来开发网站,对报表需求很少。如果有票据打印与套打需求,只能找ActiveX插件类报表工具来帮忙。

说明:以上推荐基本都是国外产品,并不代表国外产品在功能上更好,只是从资金上考虑,免费不花钱也是大多数人要考虑的第一要素。本人的观点是:中国式报表用国内报表工具开发更合适,有购买资金的朋友要把考察的重点放在产品功能上。

五、关于国产报表工具

  1. 在国外的报表工具基本都能免费用的环境下,国产报表工具能有生存空间,也证明了其存在的价值,说明这些工具确实解决了中国式报表开发的一些难题。
  2. 每年都会有几个国产报表工具冒出来,同时也会有几个国产报表工具归于沉寂。以上提及的产品都有超过6年的开发时间,经受了足够时间的考验。国产报表工具厂商总体来说生存不一,就拿自身来说,我们不缺用户,但缺少愿意花钱购买的用户。
  3. 前几年有几个国产报表是在国外有源码产品基础上开发封装的,其信息在网络上比较常见,但目前已经处于停滞休眠状态,请大家仔细甄别。
  4. 本人就是锐浪报表Grid++Report的开发者,我当然最认可自己产品,在本文中是尽力克制对锐浪报表的涉及,但还是真心建议软件开发领域的朋友了解下锐浪报表,它确实非常适合软件公司用。

六、结束语

虽然浸淫在报表开发邻域有很多年,但这个领域的产品确实太多了,只是尽力列出自我认可且比较熟悉的产品,如果列出太多的选择,又会引入选择的困境。受个人知识局限,以上信息难免有失偏颇与遗漏,希望大家批评指正,我会根据大家的意见进行补充完善,能为大家选择报表工具提供更好的帮助。

总之,首先大家根据自己的所用开发语言选工具,然后根据资金预算选工具,如果要免费用就选国外产品, 如果有资金预算,就重点考察下国产工具,如果价格在资金预算范围内,就重点进行功能性能方面的深入考察。

 


 

原文地址:http://www.cnblogs.com/report/archive/2010/07/22/1783230.html



以下是我的观点,国内企业开发中,中国式报表居多,而且是给领导看的。
感觉类Excel类报表用友华表Cell,类水晶报表可用Grid Report

JAVA平台开发可用润乾、Fine Report、炎鼎数据报表(视项目中报表的采购经费来定)

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 数据平台架构通常用于支持大规模数据的存储、处理和分析。随着大数据和云计算的发展,数据平台架构已经成为许多企业必不可少的一部分。 数据平台架构通常包含以下几个组件:数据存储、数据处理、数据集成和数据可视化。在这些组件中,各种主流技术栈被广泛应用。 在数据存储方面,主流技术栈包括关系型数据库如MySQL和PostgreSQL,非关系型数据库如MongoDB和Cassandra,以及分布式文件系统如Hadoop和HDFS。这些技术栈提供了不同的数据存储模型和可扩展性,可以根据实际需求选择适合的存储方案。 在数据处理方面,主流技术栈包括Apache Spark、Apache Flink和Hadoop MapReduce等。这些技术栈提供了强大的数据处理能力,支持批量处理和流式处理,并且具有良好的容错和可伸缩性。 数据集成是数据平台架构中重要的一环,用于将来自不同数据源的数据整合起来。主流技术栈包括ETL工具如Apache Airflow和Talend,以及消息队列如Apache Kafka和RabbitMQ。这些技术栈可以帮助实现数据的抽取、转换和加载,实现数据的同步和共享。 数据可视化是将数据转化为有意义的图表和报表,用于帮助用户理解和分析数据。主流技术栈包括Tableau、Power BI和D3.js等。这些技术栈提供了丰富的可视化工具和功能,可以根据用户的需求进行定制和展示。 总之,数据平台架构与主流技术栈密切相关,它们相互配合,为企业提供强大的数据处理和分析能力。根据实际需求选择适合的技术栈,并进行合理的架构设计,将有助于提高数据平台的性能和效率。 ### 回答2: 数据平台架构是指一个公司或组织使用的技术模型和解决方案,用于存储、处理和分析大规模数据。数据平台架构通常由多个组件组成,包括数据存储、数据传输、数据处理和数据分析等。 主流的数据平台架构通常包括以下几层: 1. 数据采集层:这一层负责数据的收集和传输。常见的技术栈包括Flume、Kafka等,用于实时或批量地从不同来源收集数据,并将其传输到下一层进行处理。 2. 数据存储层:这一层负责数据的存储和管理。主要的技术栈有Hadoop和HDFS,用于分布式的存储大规模数据;另外,还有NoSQL数据库如MongoDB和Cassandra,用于存储非结构化和半结构化数据;还有传统的关系型数据库如MySQL和Oracle,用于存储结构化数据。 3. 数据处理层:这一层负责对数据进行加工和清洗,以便后续的分析。常用的技术栈有Hadoop的MapReduce和Spark的SparkSQL,用于处理大数据集的计算任务;此外,还有流处理技术如Storm和Flink,用于实时地处理数据。 4. 数据分析层:这一层负责对数据进行分析和挖掘,以发现数据背后的价值和关联。主要的技术栈有数据仓库如Hive和Presto,用于运行复杂的查询和分析任务;还有机器学习和人工智能相关的技术栈如TensorFlow和PyTorch,用于构建和训练模型。 总之,数据平台架构与主流技术栈密切相关,通过不同的技术组合和配置,可以满足不同规模和需求的数据处理和分析需求。在选择和设计数据平台架构时,需要根据具体的业务需求和数据规模,综合考虑各种因素,以实现高效、可靠和可扩展的数据处理和分析能力。 ### 回答3: 数据平台架构是指利用计算机技术和相关工具构建起来的一个系统,用于存储、管理和处理海量的数据。数据平台架构的设计需要考虑到数据的存储、计算、传输等方面的需求,以及可扩展性、高可用性、安全性等方面的要求。 在数据平台架构中,主流的技术栈包括了各种开源工具和技术。其中,Hadoop是一个开源的分布式计算框架,它使用分布式文件系统(HDFS)来存储大规模数据,并利用MapReduce模型来进行分布式计算。Hadoop生态系统中的其他工具,如Hive、Pig和Spark等,也被广泛应用于数据存储和处理的场景中。 除了Hadoop之外,NoSQL数据库也是数据平台架构中常用的技术之一。NoSQL数据库可以提供高可扩展性、高性能和灵活的数据模型,适用于大规模和高并发的数据处理场景。目前较为流行的NoSQL数据库包括MongoDB、Cassandra和Redis等。 此外,数据平台架构还需要考虑数据的可视化和分析需求,因此数据可视化和数据分析工具也是主流技术栈中的重要组成部分。例如,Tableau是一款流行的数据可视化工具,它可以将数据以图表、仪表盘等形式展示出来,帮助用户更好地理解和分析数据。而Python的数据分析库Pandas和可视化库Matplotlib,则提供了强大的数据处理和数据可视化能力。 综上所述,数据平台架构与主流技术栈密切相关,通过选择适合的技术,可以构建出功能完善、高效可靠的数据平台,满足不同场景下的数据存储、处理和分析需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值