免费开源JAVA报表工具对比 BIRT报表VS润乾报表之初体验

2023-10-17 13:08

本文主要是介绍免费开源JAVA报表工具对比 BIRT报表VS润乾报表之初体验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前一段时间,被导师安排对报表开发工具做调研,之后就一度泡在各大博客、论坛里,尽可能全面的搜集了几款报表工具的优缺点,攒成了《java报表工具报表软件选型经验总结分享》。不过大多都是直接抄的百度百科的介绍(嘿嘿…),并没有真的去挨个进行试用。还好导师看过后基本认可,接下来就只安排了对其中两种报表工具做深入对比,同样要求提交书面对比报告……

 

对比报表工具:

BIRT、润乾报表

原因:

一个是开源的免费,另一个是商用最便宜的……好吧,我承认我们真的很穷~~~

意外的是,在试用润乾报表的过程中,在论坛上发现居然有免费的版本,相信到时心里的天平又会倾斜一点了吧。润乾报表免费版参考链接是:

http://c.raqsoft.com.cn/article/1543913283529

试用环境:

Window 10 操作系统、JDK 1.8.0_73

对比内容

1. 通过DEMO演示初步了解

BIRT:

暂时没找到相关信息。

润乾报表

地址:http://report5.raqsoft.com.cn/ ,包括:大屏多组件展示,基本报表(分组报表、网格式报表、报表组等),参数查询(模糊查询、下拉选择、下拉日历等),图形展示(仪表盘、地图、线图、柱状图、饼图等),复杂报表(折叠表、交叉报表等),填报表,多种打印导出方式…,等等。

 

小结:

大致看完,润乾报表的demo演示,不管是不是老王卖瓜,总体感觉功能比较全面。而BIRT因为没有找到demo演示,所以需要在后面的具体试用中慢慢积累总结和体会。

 

2. 下载和安装

BIRT

下载地址:http://download.eclipse.org/birt/downloads/ ,如下图所示,直接点击“Download Now”进行下载,建议下载All-in-One版本。下载完成后,是一个包含了birt报表插件的eclipse文件夹。选择下载All-in-One版本可以避免不少麻烦事,特别是:在eclipse中安装birt插件时出现的各种问题。

安装BIRT时,需要注意All-in-One版本是免安装的,直接解压就可以使用(如下图),前提是操作系统事先要配置好java环境变量且版本高于jdk 1.7。

然后,点击“eclipse.exe”启动,之后就可以开发报表了。

另外,对于英文水平不咋地的我,为了更方便地试用,在网上专门找了汉化包,但是汉化似乎不太完全,还有好多地方是英文,后面也就只能自求多福了,呵呵呵…

 

润乾报表

下载地址:http://www.raqsoft.com.cn/download/download-jsbb  ,根据自己的操作系统选择下载相应的安装包,如下图,点击”windows版”进行下载,下载完成后,是一个压缩包,例如report-v2018-install-2018-1122.zip。

紧接着,下载授权文件,地址:http://c.raqsoft.com.cn/article/1543290396308 ,下载完成后,同样是一个压缩包reportV2018trialLicense20181231.zip,解压后是一个以xml结尾的文件reportV2018trialLicense20181231.xml,其中包含了润乾报表工具的授权控制信息。

 

解压report-v2018-install-2018-1122.zip压缩包,运行report-V2018-install-20181122.exe,下一步……下一步……进行安装。

安装后,桌面会生成如下快捷方式

 

双击运行”润乾报表v2018” ,然后根据提示指定授权文件(就是前面提到的xml文件)。然后,打开设计界面如下:

小结:

对比两个工具的下载和安装:

    a). 安装包获取都比较容易;

    b).安装BIRT需要事先准备JAVA环境,而润乾报表不需要此操作,安装包自带一套完整的应用体系;

    c).BIRT运行没有授权证书控制,而润乾报表运行需要授权证书,不过好在这个授权永久免费也还可以。 

3. 清单式报表对比开发

初步设想,先使用示例数据库,做一个比较简单的清单式报表。效果如下:

具体操作:

BIRT:

a). 首先新建一个Report Project项目,
在”导航器”tab页中右键->新建->Project->选择"Business Intelligence and Reporting Tools"节点下的"Report Project"->点击【Next】->输入项目名字为:My Project ->点击【Finish】,这时项目已经创建完成了。紧接着出现的一个对话框会询问是否打开关联的视图(报表视图),点击【Yes】进入报表视图,出现如下图说明项目已经创建成功了。

b). 创建报表
右键My Project项目-> 新建 -> Report ,输入文件名为:Customers.rptdesign(rptdesign后缀为birt报表文件),点击“Next” ,然后选择“Simple Listing”(列表模板),然后点击“Finish”,切换到报表视图。

c). 建立数据源
切换到“Data Explorer”视图,选中“Data Sources”,右键点击它,在右键菜单中点击“New  Data Source”
出现了“New Data Source”对话框,选中“Classic Models Inc. Sample Database”数据库(这个是birt提供的示例数据库),然后输入数据源的名字:Sample,点击下一步,再点击完成,数据源就创建完成了。

d). 建立数据集
切换到Data Explorer视图,右键“Data Sets”,在出现的右键菜单中,选择"New Data Set",“New Data Set”对话框出现了
选择刚才所创建的“Sample”数据源,选择“Data Set Type”:SQL Select Query,输入"Data Set Name":Customer

点击下一步,输入查询语句:select  * from    customers where    country = ‘USA‘

点击完成后,出现数据集编辑对话框,如下图:

其中

  • Data Source ---  显示数据集用到的数据源,你也可以改变它
  • Query -- 可以用来查看和编辑查询语句,你可以在"Available Items"里查看数据库和表
  • Output Columns -- 显示在查询语句里的列,你能为这个列起别名。
  • Computed  Columns -- 经过计算而得到的列,跟其他列类型
  • Parameters -- 这些参数能包含在查询语句中,根据条件来进行过滤
  • Filters -- 对查询结果进行过滤
  • Preview Results – 预览前面的查询语句所查询到结果

做到这里就有了数据集,接下来,就是把数据以清单的方式在页面上呈现了。

e). 制作报表
打开“Data Explorer”视图,选择“Data Sets”节点下面的“Customer”节点下面的字段名称如“STATE”,然后将其拖拽到表格中带有灰色字体“Detail Row”的行单元格中。
其他字段操作同STATE,拖拽后的效果如下图:

f).保存,预览

g). 最终效果

至此,终于是画出来了一张报表,真是历经千辛万苦啊…
 
润乾报表

a).启动示例数据库,链接demo数据源
菜单栏中选择”本地应用”,然后下拉列表中点击”启动示例数据库”,数据库启动完成后,菜单栏中选择”工具”,然后下拉列表中点击”数据源”,再打开的数据源列表框中选中”[系统] demo [未连接]”,点击右侧”连接”,就可以连接上demo数据源了,此时demo数据源为字体为粉色” [系统] demo [已连接]”如图。

b). 创建报表(包含建立数据集)
菜单栏中选择”文件”,然后在下拉列表中点击”新建报表” 弹出向导界面,报表类型选择”普通报表”,数据源为”demo”,数据集名称为”ds1”(可以按需要修改),数据集类型选择”sql 检索”,

其中

  • SQL检索 ---  表示数据集的数据来自数据库,它是通过SQL语句到数据库中检索满足一定条件的数据,从而形成一个数据集
  • 存储过程 ---  表示数据集的数据来自存储过程
  • 集算器 ---  表示数据集中的数据是从集算器文件中获取到的,集算器是润乾特有的数据计算中间产品,能够连接丰富的数据源并进行高效、灵活的计算,将计算结果直接返回用作润乾报表的数据集。
  • 脚本数据集 ---  表示可直接在脚本编辑区添加遵循集算器语法的计算表达式,是集算器类型的简约版。
  • 文件数据集 ---  表示数据集的数据是从文件中获取到的,目前支持txt、xls、xlsx、csv、btx(集文件)、ctx(组表文件)六种最常见的文件类型。
  • 内建数据 --- 表示数据集的结构和数据都已存入报表模板,运算报表时不需要从数据源取数了 。
  • 自定义 ---  表示报表的数据来源比较特殊,需要程序员自己处理生成结果集类文件供报表引用。
     
    在选择了“SQL检索”后,在弹出窗口”SQL编辑器”中,双击选择数据表,切换至”数据字段”tab页选择需要从数据表中查出的字段
     
    最后,切换到”语法”tab页可以看到已经自动生成了一个完整的查询语句

    点击”确定”,返回到向导窗口的”报表类型”界面,点击下方的”生成网格报表”,可以看到报表已经被程序自动画好了。(小窃喜……)

c). 保存,预览

报表文件保存为report_1.rpx,rpx是报表文件的后缀。

d). 最终效果

 

4. 总结

工具

对比项

BIRT

润乾

开发难度

偏难

容易

耗时

2天

0.5天

清单式报表

可以实现

可以实现

许可证

不需要

需要,入门版永久免费

这篇关于免费开源JAVA报表工具对比 BIRT报表VS润乾报表之初体验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225597

相关文章

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

SpringBoot全局域名替换的实现

《SpringBoot全局域名替换的实现》本文主要介绍了SpringBoot全局域名替换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录 项目结构⚙️ 配置文件application.yml️ 配置类AppProperties.Ja

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

SpringBoot日志级别与日志分组详解

《SpringBoot日志级别与日志分组详解》文章介绍了日志级别(ALL至OFF)及其作用,说明SpringBoot默认日志级别为INFO,可通过application.properties调整全局或... 目录日志级别1、级别内容2、调整日志级别调整默认日志级别调整指定类的日志级别项目开发过程中,利用日志

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有