免费开源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数组初始化的五种方式

《Java数组初始化的五种方式》数组是Java中最基础且常用的数据结构之一,其初始化方式多样且各具特点,本文详细讲解Java数组初始化的五种方式,分析其适用场景、优劣势对比及注意事项,帮助避免常见陷阱... 目录1. 静态初始化:简洁但固定代码示例核心特点适用场景注意事项2. 动态初始化:灵活但需手动管理代

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

SpringBoot中配置Redis连接池的完整指南

《SpringBoot中配置Redis连接池的完整指南》这篇文章主要为大家详细介绍了SpringBoot中配置Redis连接池的完整指南,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以... 目录一、添加依赖二、配置 Redis 连接池三、测试 Redis 操作四、完整示例代码(一)pom.

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

基于Java实现回调监听工具类

《基于Java实现回调监听工具类》这篇文章主要为大家详细介绍了如何基于Java实现一个回调监听工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录监听接口类 Listenable实际用法打印结果首先,会用到 函数式接口 Consumer, 通过这个可以解耦回调方法,下面先写一个

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析