在这里插入图片描述

导航:LuckReport专栏

一、快速了解

项目简介

Luck-Report 是一款基于开源项目 UReport2 重构的 Java 高性能报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。相较于 UReport2,Luck-Report 在技术架构上进行了全新升级,后端基于 SpringBoot 框架开发、前端采用 Vue 框架构建,技术选型贴合当下主流项目开发标准,可精准适配各类实际开发需求。

Luck-Report 提供了全新的基于网页的报表设计器,可以在 Chrome、Firefox、Edge 等各种主流浏览器运行(IE 浏览器除外)。使用 Luck-Report,打开浏览器即可完成各种复杂报表的设计制作。

Luck-Report 基于 Apache-2.0 开源协议开源

在线体验

二、报表计算模型

Luck-Report 报表计算模型基于单元格之间的依赖关系,通过父格与子格的展开机制实现复杂报表的动态展示。理解这一计算模型是开发报表的前提。

# 单元格父格

单元格之间存在依赖关系,对于任意一个单元格都可以设置它的左父格与上父格。

# 父格类型

  • 左父格:单元格左侧与其位于同一行的父格
  • 上父格:单元格上方与其位于同一列的父格

# 默认父格规则

  • 左父格默认为最近左边与其位于同一行的单元格
  • 上父格默认为最近上方与其位于同一列的单元格
  • 位于第一行的单元格默认没有上父格
  • 位于第一列的单元格默认没有左父格

# 配置步骤

  1. 打开 Luck-Report 报表设计器,选中任意单元格

    单元格属性面板

  2. 在属性面板中查看或修改默认上父格或左父格

  3. 手动更改左父格或上父格以满足业务需求

# 单元格展开机制

单元格在绑定数据集中某个字段时,如果这个字段有一条以上的数据,那么单元格就可以展开以显示这些数据。

# 父格展开规则

  • 父格展开时会带动子格一起展开
  • 父格向下展开,则带其下所有子格及子格的子格一起向下展开
  • 如果子格中绑定的数据集与父格中数据集同属一个,则子格中的数据将受父格限制
  • 子格绑定的数据集字段数据在展开时,同样也会带动其下子格一起展开
  • 当前子格的父格如与子格处于同一行或列,则会将父格拉大

# 应用场景

利用单元格展开迭代的特性,可以制作出各种复杂的报表样式,包括但不限于:

  • 分组汇总报表
  • 多层级数据展示
  • 动态行列扩展
  • 嵌套数据结构展示

关于报表计算模型的详细介绍,可参照 ureport2 视频教程,视频教程中有大量例子以描述这种迭代算法特点。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐