在AgilePLM项目中使用积木报表

文章介绍了积木报表作为一款开源、免费且功能强大的报表工具,其功能接近FineReport,适用于SQL配置生成报表。适合在SpringBoot和Oracle环境下使用,并提供了数据库初始化、依赖引入的步骤。尽管在某些功能上仍有局限,但考虑其价格优势,能有效缩短项目开发周期和降低成本。文章还提到了一些使用中的注意事项和问题,如大数据量打印的性能问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

目前市面上有很多报表工具,很多都收费昂贵。这次找到一个开源免费而且功能也很强大的报表工具-积木报表。推荐给大家!

积木报表和FineReport功能比较类似,基本可以做到,只要准备好SQL,通过配置就能完成一个功能全面的报表了。虽然还不能完全媲美FineReport,但是考虑到FineReport的价格,还是有他的优势的。也可以缩短项目开发周期节约开发成本的。

注意:积木报表的开源协议是LGPL v2.1,如果要商业使用,最好确认一下是否需要收费。 积木报表商业授权

目前根据笔者的了解,如果是在自己项目的pom中引入积木报表的依赖,使用它的功能来开发业务报表,不包含收费功能,是不收费的,也不需要将自己项目开源。以上信息如有错误,欢迎留言告知。

项目环境

若依框架单体架构-Oracle版

SpringBoot 2.5.6,JDK8

安全框架为Shiro 1.9

问题记录

  1. 打印功能在数据量大的情况,会比较卡,介意的可以在设置中屏蔽。
  2. 导出图片功能,导出的图片背景和字体都是透明的。目前没找到功能屏蔽办法,只能关闭全部导出

以下内容也可以参考,积木报表官方文档

安装

数据库初始化

如果数据库是MySQL,可以直接使用官网的初始化脚本:jimureport.mysql5.7.create.sql

如果不是MySQL,需要使用数据库转换工具。例如:Navicat

我的项目是Oracle的,我使用的是Jeecg-boot的Oracle脚本,里面也有积木报表的脚本。

数据库初始化成功之后,应该会有如下表。

依赖引入

项目pom.xml

<!-- 积木报表 -->
<dependency>
    <groupId>org.jeecgframework.jimureport</groupId>
    <artifactId>jimureport-spring-boot-starter</artifactId>
    <version>1.5.8</version>
</dependency>

<!-- oracle驱动 -->
<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.3</version>
    <scope>runtime</scope>
</dependency>

启动类修改

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@EnableAsync(proxyTargetClass = true)
@EnableTransactionManagement
@ComponentScan(value = {"com.ruoyi", "org.jeecg.modules.jmreport"})
public class AgileExtApplication {
    public static void main(String[] args) {
        // System.setProperty("spring.devtools.restart.enabled", "false");
        SpringApplication.run(AgileExtApplication.class, args);
        System.out.println("(♥◠‿◠)ノ゙  Ext-启动成功!   ლ(´ڡ`ლ)゙  \n");
    }
}

ShiroConfig加入url过滤

filterChainDefinitionMap.put("/jmreport/**", "anon");

启动项目之后访问:http://项目ip:端口号/jmreport/list。会看到如下界面:

报表使用

新建报表

点击“新建报表”,然后在左侧数据集管理的“+”号,填入准备好的sql。点解析。

系统会自动解析sql语句中包含的字段,并出现在报表数据字段明细中。

报表字段配置

查询栏位打勾的代表这个字段将做为报表查询条件。

如果是下拉框型的查询条件,还可以配置字典code。

  • 字典code如果是一个普通字符串,那代表这是一个积木的字典项code。
  • 字典code也可以是一个SQL语句,但查询结果必须包含value和text两列。例如:select id as value,description as text from lifecycle

另外对于配置了字典code的字段,在报表结果展示时,系统也会将字段值去字典中匹配text来显示。例如:class如果等于10000,就会到字典中将其转换成部件显示在界面中。

报表设置

 在中间的表格中编辑好报表的样式,然后将左侧sql的字段一个个拉到报表对应的字段中。

都配置好后,点保存,然后可以预览报表效果。

报表预览

点开查询栏,可以看到:生命周期,分类,子分类为下拉框,里面的值根据配置的SQL读出

自带分页,导出pdf,Excel功能,无序额外开发。这个工具栏显示哪些按钮也是可配置的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值