Skip to content

v2.3.0

Latest

Choose a tag to compare

@zhangdaiscott zhangdaiscott released this 22 Dec 03:50
· 13 commits to master since this release

当前版本:v2.3.0 | 2025-12-22

重磅功能发布!全新移动端报表展示和多 Sheet 报表设计功能上线,极大提升报表的表现力。同时新增类似 Excel 中 IFERROR 的函数,优化多项细节。新增无分页大数据条数限制和参数配置,强化 SQL 解析安全防护,并修复了错误友好提示问题。

升级SQL

-- 组合报表
CREATE TABLE jimu_report_ext_data (
  id              VARCHAR(32) PRIMARY KEY COMMENT '主键ID',
  biz_type        VARCHAR(100) NOT NULL COMMENT '业务类型标识,如 report_share、temp_config 等',
  name            VARCHAR(200) DEFAULT NULL COMMENT '名称,展示用',
  descr           VARCHAR(500) DEFAULT NULL COMMENT '描述信息',
  tags            VARCHAR(255) DEFAULT NULL COMMENT '标签,多个用逗号分隔',
  data_value      LONGTEXT COMMENT '实际存储内容',
  metadata        VARCHAR(500) DEFAULT NULL COMMENT '元数据,用于存储补充信息',
  status          TINYINT DEFAULT 1 COMMENT '状态标识:1正常 0禁用',
  create_by       VARCHAR(50) DEFAULT NULL COMMENT '创建人',
  create_time     DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  update_by       VARCHAR(50) DEFAULT NULL COMMENT '修改人',
  update_time     DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  INDEX idx_biz (biz_type)
) COMMENT='通用扩展数据表';

-- 创建jimu_report_sheet表
CREATE TABLE jimu_report_sheet (
   id VARCHAR(64) NOT NULL COMMENT '主键(Sheet ID)',
   report_id VARCHAR(64) NOT NULL COMMENT '报表ID',
   sheet_name VARCHAR(255) NOT NULL COMMENT 'Sheet名称',
   sheet_order INT NOT NULL COMMENT '排序(可以为负数,负数表示在默认sheet前面)',
   json_str LONGTEXT COMMENT '该sheet的完整jsonStr',
   create_time DATETIME COMMENT '创建时间',
   update_time DATETIME COMMENT '更新时间',
   create_by VARCHAR(64) COMMENT '创建人',
   update_by VARCHAR(64) COMMENT '更新人',
   PRIMARY KEY (id)
) COMMENT='报表Sheet表';

CREATE INDEX idx_report_id ON jimu_report_sheet(report_id);
CREATE INDEX idx_sheet_order ON jimu_report_sheet(report_id, sheet_order);

ALTER TABLE jimu_report
    ADD COLUMN is_multi_sheet TINYINT COMMENT '是否多sheet报表 1是 0否';

集成依赖

  • springboot3
 <dependency>
    <groupId>org.jeecgframework.jimureport</groupId>
    <artifactId>jimureport-spring-boot3-starter</artifactId>
    <version>2.3.0</version>
 </dependency>
  • springboot2
 <dependency>
    <groupId>org.jeecgframework.jimureport</groupId>
    <artifactId>jimureport-spring-boot-starter</artifactId>
    <version>2.3.0</version>
 </dependency>

升级日志

  • 【新功能】支持移动端报表,助力跨设备自适应查看
  • 【新功能】支持多Sheet报表设计,灵活构建多页,多维度数据报表
  • 【新功能】支持报表组合功能,轻松整合多个报表,实现一体化报表展示
  • 【新功能】新增类似 Excel 中 IFERROR 的函数
  • 【严重问题】jsqlparse方式无法解析SQL字段。
  • 【issues/3331】提供类似excel中iferror的功能 #3331
  • 【issues/4313】积木报表数据集POST带body存在URL路径解析问题及json参数解析丢失问题
  • 【issues/4342】共享数据集报表参数通过SQL配置字典不生效
  • 限制无分页数据集和打印最大数据条数为10万,支持用户自定义YAML参数jeecg.jmreport.maxDataRows=100000。
  • 数据源连接错误次数阈值由5次提升至10次。
  • 新增SQL解析安全模式配置jeecg.jmreport.firewall.sqlParseSafe=true。
  • 修复SQL解析失败时未准确提示表或字段不存在等错误信息。
  • 分享链接后日期下拉列表年月不能正确显示 · Issue #4348
  • 报表支持多图片显示 · Issue #4336
  • 带groupby和子查询的情况下SQL数据集SQL解析报错 · Issue #4376
  • 积木报表报表查询控件下拉多选(带搜索)清空选项后重选后内容错乱 · Issue #4378
  • 报表导出PDF时,单位格自适应行搞并自动换行时,如果图片在第二页会导致图片错位 · Issue #4354
  • 2.1.2(java11)能继承到其他平台中,2.1.5(Java17)会显示不了。 · Issue #4239
  • 积木报表API接口请求方式使用的是RestTemplate导致默认并发数只有2 · Issue #4283
  • 数据填报功能,DB2类型数据库无法展示主键字段 · Issue #4276
  • jimureport H2 JDBC RCE Vulnerability (≤ v2.1.3) · Issue #4306
  • 报表设置固定打印表尾,在使用默认打印预览时,最后一页会重复显示表尾 · Issue #4299
  • sql server使用窗口函数解析成功,预览失败 · Issue #4270
  • 开启“不四舍五入”按钮后,没有生效 · Issue #4329
  • 导出记录下载失败 · Issue #4322
  • 无预览打印插件,打印无顺序
  • 模板里有图片在第一页和第二页中间时,会跑到第一页顶部
  • 设计表格时,用A4纸作为打印区域,默认打印出现第一页底部有大量空白,并且将部分内容(仅一行空记录)挤压到第二页
  • 严重BUG,存在报表和图表不能联动的问题
  • 主子表关联查询数据,查不到 #4330
  • 使用定时任务导出的pdf文件,有些部分会有一个透明的框框 #4042