免费开源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

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推