文档章节

jasperReport、iReport和帆软报表的对比

iris_1992
 iris_1992
发布于 2015/05/05 15:00
字数 2018
阅读 271
收藏 0
点赞 0
评论 0

相比于jasperReport+Ireport,FineReport无论是在显示语言、报表制作流程报表设计模式移动端报表维护等方面,还是在数据源图表等图表制作细分方面都有显著优势,下面主要对比jasperReport+Ireport和FineReport在这几个方面的区别。

报表显示语言对比

首先,jasperReport+Ireport作为一款外来报表工具,系统全支持的语言自然是英语。Ireport默认语言是繁体中文,但是翻译不完全,一半繁体中文一半英文,使用时推荐设置成全英文。这样一来,报表制作对英文要求就比较高,某些专业名词看不懂还时不时需要去百度,对于习惯了中文环境的国人,比较浪费脑细胞。

其次,在中文环境也需要特定支持.例如生成PDF中文,就需要配置传输域、导入对应的语言包、等等。其他的中文支持问题,也是如此。

jasperReport+Ireport语言显示

FineReport作为一款中式报表工具,天生支持中文环境,节省了使用者适应不同语种的时间,也省去导入各种功能语言包的繁琐过程。看不懂报表系统菜单与功能说明等内容的情况发生几率低,也避免了制作报表初期,因为某个名词的意思理解错误导致返工的情况。

 

报表制作流程对比

jasperReport+Ireport报表工具是把jasperReport和Ireport结合到一起来制作报表的。首先在iReport中设计报表模板,生成XML格式jaxml后缀)的文件,编译后生成 jasper 后缀的二进制文件。将编译好的.jasper文件拷贝到WEB工程下, 再通过上面界面的超级链接调到后台,进行配置文件和代码,填充数据源,然后生成最终的报表。 jasperReport+Ireport制作报表,因为是两个不同系统的结合,所以过程相当繁琐,且需要大量代码,很考验人的耐性和写代码技术。

jasperReport+Ireport制作流程

在报表制作流程中,FineReport对比jasperReport+Ireport的优势非常明显,即用FineReport制作报表不需要结合其他报表系统,也不需要手工使用MyEclipse等java开发环境设置,制作过程中基本不需要编码,真正做到了零代码编报表。报表在FineReport中设计,也在FineReport中展现,简化了制作程序,也降低了出错概率,也节省了制作报表的人力成本。

 

报表设计模式对比

Ireport报表设计模式为可视化制表模式,制表界面为条带填入式,对中国式复杂报表的制作友好度比较低;不支持EXCEL模板导入;格式对齐非常困难;对字体等其他格式的调整也非常麻烦,一般一个简单的font就要一堆代码来设置;表格中的表达式也不能随着行列变化而实现自动调整。

jasperReport+Ireport设计模式

FineReport报表为类excel的表格式设计模式,支持EXCEL的无缝导入导出;插入、删除行列后,单元格的表达式、数据集绑定关系自动变化,不需要手工修改;支持导入多sheet的excel文件为一个报表模板;报表编辑区域默认无限行和无限列;支持SUM(A1:A2)这样的拖动复制;由于Excel的广泛使用,类Excel设计模式的报表也更易上手。

FineReport类excel设计

 

移动端对比

4G时代的开启以及移动终端设备的凸显必将为移动互联网的发展注入巨大的能量,这一切预示着移动互联网时代已经来临。移动端各种设备的使用甚至已经影响到人们的阅读习惯,利用移动端查看报表的呼声也越来越高。通过移动端,人们可以在出差时、在碎片时间查阅报表,处理公司事务。

但是目前为止,jasperReport+Ireport报表并不支持移动端报表展现,而FineReport7.0已经研发了专门的移动BI、移动端来展现报表,并配有分别支持IOS和Android两种系统的APP。最新版本的FineReport7.1的移动端功能更加强大,利用组件式设计、响应式布局,简单制作符合移动端属性的报表,一次设计,就可以在多种移动终端上展现,各种图表效果也相当酷炫。

FineReport移动BI

 

报表维护

根据iReport维护公告,自iReport版本5.5.0之后,终止新功能的开发。在2015年12月31日以前,对iReport的维护仅限于严重缺陷的修复,不会再增加新的功能。

而FineReport软件厂商帆软软件,一直专注于企业级报表和商业智能相关产品的研发和推广,具有丰富的数据分析应用研发和服务经验。帆软坚持以客户为中心,通过所拥有的一流人才,不断的创新产品,加速产品更新迭代的周期,以满足用户日益增长的需求,不会有ireport那样终止新功能开发与维护仅限于严重缺陷的情况发生。

jasperReport+Ireport、FineReport的其他对比

数据源对比

Ireport声称支持所有有效的数据源,但是系统默认只支持mysql和odbc两种数据源如果想使用其他类型的数据源,需要自行下载、安装驱动jar包,通过数据源接口设置设置数据连接、激活等等一系列步骤连接数据源。

jasperReport+Ireport不支持数据多源,即一张报表中的数据只能来自一个数据源,例如制作一个简单的报表,数据部分取自销量表,部分取自销售总额表,即数据来自于两张不同的数据库表,jasperReport+Ireport是无法实现的。

FineReport支持多种数据源,所需的一切系统已集成好,不需自己再手动配置。FineReport支持数据库数据源,如Oracle、DB2、SQLServer、MySQL、Sybase、Informix等主流的关系型数据库,支持SQL取数据表或视图,以及存储过程;支持文本数据源,支持BI多维数据库,如Essbase、ssas、sap、hadoop以及FineBI的cube等;除此之外,FineReport还支持程序数据源、SAP数据源和异构数据源、内置数据集等。

FineReport支持数据多源。FineReport是解决中国式复杂报表的优秀报表软件,中国式报表一般会把来自不同的数据库的数据放到一张报表中进行比对,FineReport也就必然支持数据多源。用FineReport制作多源报表只需要在数据过滤中设置即可,将不同数据源的数据关联起来就可实现。

图表对比

Ireport是集成了JFreeChartt来实现图表效果的,因此也就有了图表效果也就带了JFreeChart的缺陷:只适合生成图片,而且文字、图片都不是特别清晰,还需要进行一些调整,比较麻烦,交互性比较差。图表设置界面如下,可以看出Ireport图表设置方法相当麻烦,最终的图表效果也不理想

Ireport图表制作

 

Ireport图表展示

帆软自主研发的html5图表技术,参数传递灵活,完美支持IOS等移动设备。FineReport html5图表动态交互效果特别好,支持图表交互、参数联动、热点链接、在线切换图表等功能,可实现丰富的报表展现效果。

FineReport图表制作

 

FineReport图表展示

© 著作权归作者所有

共有 人打赏支持
iris_1992
粉丝 1
博文 25
码字总数 23873
作品 0
无锡
程序员
iReport+JasperReport实现数据库记录导出到html、excel、pdf文档

本文主要介绍使用iReport以可视化的方式来生成JasperReport所使用的报表格式文件,并通过JasperReport提供的API将数据导出到html、excel、pdf等格式的文件中。 在这里iReport的使用版本为iRe...

Jialy
2013/04/15
0
3
iReport+jasperReports制作WEB报表

JasperReports介绍 JasperReports是一个强大的,灵活的报表生成工具,能够生成 PDF,WORD,EXCEL,HTML,XML格式的报表。JasperReports的开发是由一份XML格式的报表模板文件开始的,设计好这个 ...

hchen1982
2011/08/01
0
1
NetBeans和iReport的教程。

NetBeans和iReport的教程。 在iReport使用表组件。 在iReport中使用JPA查询更容易比经典SQL查询。 SAF教程:查找表。 如何使用iReport插件在NetBeans中。 NetBeans的计算列SAF。 NetBeans 6...

liango
2012/11/12
0
0
ireport向子报表传递参数详解

最近些日子一直在研究报表生成的模块,用的是jasperreport,用ireport来设计报表模板,涉及到后台像子报表传递参数。 后台采用的是springmvc+spring+spring data jpa, 在后台向子报表传递m...

Big_BoBo
2013/10/11
0
3
iReport+jasperReport概念的澄清(续)

iReport+jasperReport概念的澄清(续)JasperReport有三个域用来存放、展示数据,Parameter、Field、Variables,这次说说这三个吧! Report Parameters JasperReport 报表的参数是最为一个obj...

liango
2012/11/12
0
0
如何将IDAutomation条形码集成至iReport Designer

本教程主要介绍如何使用Dynamic Barcode Generator Service将线性条码集成到Jaspersoft iReport Designer中。iReport Designer是一款开源的报表设计器,可与JasperReports和JasperReports S...

flyingsnail
2014/05/05
0
0
iReport 中创建JavaBeanDataSource,用java类提供数据源给iReport

iReport 中创建JavaBeanDataSource 用JavaBeanDataSource是为了调试制作的报表效果如何,所以要首先要让 iReport能找到class文件,为此要配置iReport的classpath. 步骤如下: 点击 工具 ----...

AblimitAbduxkur
2012/11/04
0
3
iReport 安裝 for Ubuntu

一、环境说明 操作系统:ubuntu 12.0.4 LTS jdk:1.7.0_25 二、下载 iReport下载地址:http://sourceforge.net/projects/ireport/files/iReport/ 列表中选择需要的版本,我选择了最新版本: ...

小米米儿小
2013/11/04
0
0
Ireport报表插件使用之一——参数使用(Ireport5.6.0版本)

1、新建report1.jrxml文件不在赘述 2、调出组件面板:注意如果没有服务面板可以在窗口-->服务面板,调出来 3、各种面板上的元素属性不在赘述 4、数据源配置—连接数据库(DB2) 在这里为什么...

心月狐
06/29
0
0
iReport-3.7.4安装后运行报错 cannot find java.exe

iReport-3.7.4安装后运行报错 cannot find java.exe 解决方法:到 ireport 安装的目录下找到 etc 目录下的 ireport.conf 文件 将 jdkhome 前面的“#”去掉 ,路径改为自己本机的 JAVA_HOME ...

依风听雨
2014/11/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

前端基础

1. get请求传参长度的误区 误区:我们经常说get请求参数的大小存在限制,而post请求的参数大小是无限制的。 实际上HTTP 协议从未规定 GET/POST 的请求长度限制是多少。对get请求参数的限制是...

wenxingjun
今天
0
0
Android 复制和粘贴功能

做了一回搬运工,原文地址:https://blog.csdn.net/kennethyo/article/details/76602765 Android 复制和粘贴功能,需要调用系统服务ClipboardManager来实现。 ClipboardManager mClipboardM...

她叫我小渝
今天
0
0
拦截SQLSERVER的SSL加密通道替换传输过程中的用户名密码实现运维审计(一)

工作准备 •一台SQLSERVER 2005/SQLSERVER 2008服务 •SQLSERVER jdbc驱动程序 •Java开发环境eclipse + jdk1.8 •java反编译工具JD-Core 反编译JDBC分析SQLSERVER客户端与服务器通信原理 SQ...

紅顏為君笑
今天
6
0
jQuery零基础入门——(六)修改DOM结构

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,可能补充了个人的理解和日常遇到的点,用我的理解表述出来,主干出处来自廖雪峰老师的技术分享。 在《零基础入门JavaScript》的时...

JandenMa
今天
0
0
linux mint 1.9 qq 安装

转: https://www.jianshu.com/p/cdc3d03c144d 1. 下载 qq 轻聊版,可在百度搜索后下载 QQ7.9Light.exe 2. 去wine的官网(https://wiki.winehq.org/Ubuntu) 安装 wine . 提醒网页可以切换成中...

Canaan_
今天
0
0
PHP后台运行命令并管理运行程序

php后台运行命令并管理后台运行程序 class ProcessModel{ private $pid; private $command; private $resultToFile = ''; public function __construct($cl=false){......

colin_86
今天
1
0
数据结构与算法4

在此程序中,HighArray类中的find()方法用数据项的值作为参数传递,它的返回值决定是否找到此数据项。 insert()方法向数组下一个空位置放置一个新的数据项。一个名为nElems的字段跟踪记录着...

沉迷于编程的小菜菜
今天
1
1
fiddler安装和基本使用以及代理设置

项目需求 由于开发过程中客户端和服务器数据交互非常频繁,有时候服务端需要知道客户端调用接口传了哪些参数过来,这个时候就需要一个工具可以监听这些接口请求参数,已经接口的响应的数据,这种...

银装素裹
今天
0
0
Python分析《我不是药神》豆瓣评论

读取 Mongo 中的短评数据,进行中文分词 对分词结果取 Top50 生成词云 生成词云效果 看来网上关于 我不是药神 vs 达拉斯 的争论很热啊。关于词频统计就这些,代码中也会完成一些其它的分析任...

猫咪编程
今天
0
0
虚拟机怎么安装vmware tools

https://blog.csdn.net/tjcwt2011/article/details/72638977

AndyZhouX
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部