表格类报表的支持程度

国内的系统中,大量存在表格类(Excel类、文档类)的数据报表开发,如统计汇总、检测报告、表单等。

能否很好的支持此类报表的设计和开发,往往是能否采用此控件的决定性因素

  • 水晶报表:提供交叉表控件,OLAP报表控件,可以创建于Excel 中类似的单维度和多维度数据透视表。但灵活性不强,只能创建单表头的数据透视表。无法修改或添加总计,汇总公式,或是自定义单元格合并。更无法支持中国复杂报表的表角斜线及无规则的单元格合并。

水晶报表

  • FastReports:提供矩阵(Matrix)控件,用来进行复杂报表的设计,可以实现单维度和多维度的数据透视表,可以进行自动合计和警示功能,但是它设计起来比较复杂,灵活性差。并且不支持单元格的自动合并,不能进行复杂表头的设计。

FastReports

  • Stimulsoft:提供了表格控件和交叉表(Cross Tab)分别解决列表泪报表和数据透视表的需求。但是表格控件并不是严格意义的表格,没有表头表尾详细数据的概念,是用单元格拼起来的,所以无法控制每一行的显示。交叉表可以创建多维合计透视表,但是在合计表达式只能选择默认的Sum,而且无法创建复杂的表头。

Stimulsoft

Stimulsoft

  • ActiveReports:提供表格控件、矩表控件专为创建Word 类报表及Excel类表格报表以及各式复杂中国式报表。

创建复杂报是ActiveReports特长,使用已提供的表格和矩表,即可灵活的实现单元格合并,多为复杂表头报表。

ActiveReports

ActiveReports

ActiveReports

图表类报表的支持程度

随着业务系统中对图表、Dashboard、大屏类应用需求的不断增强,图表的支持类型和外观也是考量报表控件的重要方面

图表类型(注: 红色标注是各品牌特有的)

  • 水晶报表支持图表类型包括:条形图、柱形图、折线图、面积图、饼图、散点图、气泡图、甘特图、量表图、漏斗图、三维图表、雷达图。

水晶报表支持的图表类型

  • FastReport支持图表类型包括:条形图、柱形图、折线图、面积图、饼图、散点图、气泡图、甘特图、量表图、漏斗图、三维图表、雷达图。

FastReport支持的图表类型

  • Stimulsoft 报表支持图表类型:支持38 种类型,图表UI 采用扁平化设置,而且也为设计人员提供了多套的UI 主题选择,所以在美观程度上做的是最好的。

Stimulsoft 报表支持的图表类型

  • ActiveReports 报表支持图表类型:条形图,柱形图,折线图,面积图,饼图,散点图,气泡图,甘特图,漏斗图,三维图表,金融图,三维图表,多Y轴图表,复合图表,四象限图。

ActiveReports

图表设计步骤

  • 水晶报表

水晶报表必须为图表准备数据,数据准备完成后,才可以使用图表控件,对于运行时报表数据源的报表,创建图表就不会很方便。

水晶报表

水晶报表

  • FastReports

FastReports 在创建图表时,首先插入图表,然后绑定对应的数据源。

FastReports

  • Stimulsoft Report

Stimulsoft Report

Stimulsoft Report

  • ActiveReports

ActiveReports在创建图表时,只需要为报表提供可用的数据字段即可,因此在数据绑定中相对方便。

ActiveReports

ActiveReports

浏览器的兼容性

  • 水晶报表:支持 IE 10 及以上,Firefox ESR 52.0 及以上,Edge14.14及以上,Chrome 浏览器,不支持IE 10以下的浏览器。

  • FastReport:报表支持当前所有的浏览器 IE、谷歌、火狐、Safari 等

  • Stimulsoft:支持IE 、Firefox 、Chrome、Safari ,但要求在网页端浏览报表需要安装不同的插件,如Flash,ActiveX等。

  • ActiveReports: IE 9+、Firefox 20 +、Chrome 30 +、Safari 6.0+

部署后的修改

从事项目开发的同学,肯定对发布后的修改深恶痛绝,往往发布后的频繁修改会造成项目迟迟无法交付、改的越多Bug越多的情况,对于报表模块,类似发布后的修改更是家常便饭,如何在项目发布后快速的对应需求变更并保证质量,这是每个项目负责人必须要考虑的问题

  • 水晶报表:报表需求无论变化多么微小,都需要在修改后重新编译部署整个项目,所以在后期维护成本是非常大的,并且没有单独的设计器提供给最终用户新增报表。

  • FastReport:非开发客户无法自主进行报表的设计,当报表程序发布后客户如果想要进行简单的修改都是需要返回重新设计及编译。

  • Stimulsoft:是针对不同的平台,需要将设计好的报表文件根据要发布的平台去编译成对应的文件,所以发布后,如果有需要更改报表的需求,整个项目也需要重新发布维护,另外同一张报表文件,无法在不同平台无障碍使用。

  • ActiveReports:报表设计文件作为独立的XML格式的文件,同时也为开发人员提供最终用户设计器,可修改报表,修改完成后只需要替换旧文件,就可正常使用,不需要重新编译发布

全部打分

评分项目(5分为最佳) 水晶报表 FastReport Stimulsoft ActiveReports
数据源支持以及能否跨数据源链接 4 4 5 4
与VS的集成度 3 3 3 5
报表设计过程(设计器) 3 4 5 5
中文支持 2 3 4 5
表格类报表的支持程度 3 3 3 5
图表类报表的支持程度 5 4 5 4
浏览器的兼容性 3 5 5 5
授权和部署 3 4 4 5

更多对比

下载附件查看“四种.net 报表控件分析.xlsx”

如何选型

无论是哪一个报表控件,都有其最适合的场景,只有明确了项目中的明确需求,才能使控件真正节约开发成本,提高产品质量。以下是在选型时,需要考虑的几个方面:

浏览器兼容性

浏览器的兼容性,水晶报表是基于IE浏览器内核开发的,所以对IE浏览器有很好的兼容性,但是对于其他的主流报表如:谷歌、火狐、游猎等浏览器的兼容性就不是很好,在网页端展示的时候亲和度比较低,但是ActiveReports,FastReport,Stimulsoft在浏览器支持方面特别是IE、谷歌、火狐、游猎浏览器具有很好的兼容性,在网页端展示的有很好的亲和度不会出现误差。

部署零负担

在网页端的展示,水晶报表需要安装一个ActiveX的插件,并且交互性差。Stimulsoft Reports需要在客户端安装Flash,ActiveX等插件才可以预览。ActiveReports和FastReport 在网页端不用安装任何插件,支持 HTML5,HTML Viewer,Flash Viewer,Raw HTML,Acrobat Reade等

支持移动端

如今越来越多的用户倾向移动办公,因此对移动端的需求也是大幅度增长,而水晶报表因为现在主要为SAP 辅助数据分析,所以对移动端报表支持几乎没有,FastReport 支持移动端报表展示。Stimulsoft基于HTML5技术实现移动端,但HTML5Viewer 功能会有所限制,比原生的 .NET 功能少了很多。ActiveReports 提供了基于HTML5技术HTML5Viewer 实现响应式报表功能,具有很好的交互性。

快速创建复杂报表

应用于中国市场中,需要根据国内的特征确适应市场需求,而中国式的复杂报表就是考验报表工具,是否满足市场的一大标准,无论是复杂运算的会计报表,还是复杂表头的汇总统计报表,还是自由度极高的单元格合并报表,每一种典型的报表都是中国报表设计人员的痛点,也是考验报表工具能否满足需求的重要标准。Stimulsoft, FastReport,均提供了 交叉表控件,但这种控件只能支持创建多维透视表,无法去灵活的去自定义或修改。如果要实现复杂的报表展示,必须依赖 TextBox 去拼凑实现。ActiveReports提供了一种独特的控件“矩表,只需要拖拽设计以及自动合并,即可实现中国复杂报表。

多数据源支持

信息系统经过多年积累或新系统的业务数据都是越来越庞杂的,为了安全可能同时存在于不同的数据库中,因此报表工具一定要同时支持多种主流数据库,要兼容新型的数据库源,而且要处理同时支持多数据源的应用场景,而水晶报表目前无法做到多数据源支持,Stimulsoft, FastReport,均不支持同一报表中绑定多个数据源并展示。ActiveReports 支持在同一张报表中绑定多个数据源,并在同一数据控件中展示。

技术服务与支持

无论选择哪种报表工具,开发人员都需要快速上手和使用,而且会随着系统的深入开发会有新的需求产生,所以能够随时快速获取技术支持,也是企业选择的一大重要因素,否则在遇到问题时,开发人员只能自己花费大量的时间和精力去寻找解决方案。相反,如果有专业的技术团队,可轻松有效的解决产品问题。4个产品中,只有ActiveReports 在国内有厂商级别的支持,FastReport和Stimulsoft在国内有代理商,但无法提供技术支持。

维护升级成本低

选择报表工具就是为了有效的减少开发成本,所以需要选择最合适的报表工具,而如果后期系统升级或迁移会带来大量的工作量时,则会带来重构的危险,如果报表工具能够有很好的向上及向下的兼容性,则大大减少了系统升级和迁移的成本。ActiveReports和水晶报表的报表文件是一种文件格式,方便服用及升级。

总结

如题目所讲,没有最好的,只有最适合的,每个项目都具备不同的特点,

  • 财务系统中,对表格类的报表的要求很高,
  • 管理决策系统,偏重于图表和大屏的展现
  • 生产系统,偏重数据类型的支持
  • 事业单位或政府们的内部系统,因存在低版本的IE浏览器,需要考虑浏览器支持的通用性
  • 数据分析部门,要考虑报表在最终用户处的频繁修改和定制

最后,希望报表开发人员能够通过此篇文章对 .NET 报表控件的选型有所帮助。

继续查看上半部分