《数据分析-JiMuReport》积木报表详细入门教程

积木报表详细入门教程

一、JimuReport部署入门介绍

积木报表可以通过源码部署、SpringBoot集成、Docker部署以及各种成熟框架部署,具体可查看积木官方文档

当前采用源码部署,首先下载Jimureport-example-1.5.6

1 jimureport-example目录查看

使用IDEA启动打开后如下:

db目录下是数据库文件

src目录下是开发文件

《数据分析-JiMuReport》积木报表详细入门教程_第1张图片

2 初始化数据库

可以看到db目录下,有一个sql文件,这个就是使用积木报表的数据库文件,在数据库中初始化一下即可。

查看这个SQL文件,可以看到是创建jimureport数据库,以及该数据库下的需要用到的表

《数据分析-JiMuReport》积木报表详细入门教程_第2张图片

将SQL文件上传到数据库服务器上,并加载到数据库中

[root@zxy ~]# mysql -uroot -p -h localhost < jimureport.mysql5.7.create.sql
[root@zxy ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 171
Server version: 5.7.41 MySQL Community Server (GPL)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use jimureport;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+-------------------------+
| Tables_in_jimureport    |
+-------------------------+
| jimu_dict               |
| jimu_dict_item          |
| jimu_report             |
| jimu_report_data_source |
| jimu_report_db          |
| jimu_report_db_field    |
| jimu_report_db_param    |
| jimu_report_link        |
| jimu_report_map         |
| jimu_report_share       |
| rep_demo_dxtj           |
| rep_demo_employee       |
| rep_demo_gongsi         |
| rep_demo_jianpiao       |
| rep_demo_xiaoshou       |
| tmp_report_data_1       |
| tmp_report_data_income  |
+-------------------------+
17 rows in set (0.00 sec)

3 修改数据库配置

修改application.yml配置文件

主要修改datasource处数据库的连接数据

《数据分析-JiMuReport》积木报表详细入门教程_第3张图片

4 启动

启动主类JimuReportApplication

《数据分析-JiMuReport》积木报表详细入门教程_第4张图片

启动成功后,可以通过如下URL访问积木报表

《数据分析-JiMuReport》积木报表详细入门教程_第5张图片

5 积木报表工作台

访问URL后,直接进入到积木报表工作台

主要分为以下模块:

  • 报表管理模块

    报表管理模块有数据报表、图形报表、打印设计等,可以根据需求设计不同的报表类型

  • 报表设计模块

    报表设计模块有新建报表项和报表查看项。在已生成的报表下列可以看到有五个小项目,从左到右依次是预览、收藏、删除、复制、分享

  • 模板案例模块

    模板案例模块主要是积木报表提供的报表模板,当然也可以将自己设计的模板保存称模板。不过需要注意的是,将你设计的报表保存成模板时,在报表设计模板就找不到该报表。类似于移动报表的形式。

《数据分析-JiMuReport》积木报表详细入门教程_第6张图片

二、JimuReport开发配置入门介绍

1 数据库兼容

目前积木报表支持以下数据库连接方式,需要使用到的数据库,只需要在POM文件中添加对应得依赖即可

数据库 支持
MySQL
Oracle、Oracle9i
SqlServer、SqlServer2012
PostgreSQL
DB2、Informix
MariaDB
SQLite、Hsqldb、Derby、H2
达梦、人大金仓、神通
华为高斯、虚谷、瀚高数据库
阿里云PolarDB、PPAS、HerdDB
Hive、HBase、CouchBase ×

2 yml文件介绍

server:
  # 服务端口
  port: 8085
spring:
  #数据库
  datasource:
    url: jdbc:mysql://${MYSQL-HOST:127.0.0.1}:${MYSQL-PORT:3306}/${MYSQL-DB:jimureport}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    # hikari连接池
    hikari:
      # 设置数据库连接池
      connection-timeout: 100000
      # 池中最小连接数
      minimum-idle: 5
      # 池中最大连接数
      maximum-pool-size: 15
      # 连接最长闲置时间
      idle-timeout: 30000
      # 池中连接最长声明周期
      max-lifetime: 30000
      # 连接池名称
      pool-name: MyHikari
jeecg :
  jmreport:
    # 只看自己创建的数据
    saas: false
    # 是否开启租户
    openTenant: false
    # 是否禁止导出PDF和图片按钮
    exportDisabled: false
    # 是否自动保存
    autoSave: true
    # 自动保存时间间隔毫秒
    interval: 20000
    # 列索引
    col: 100
    # 自定义项目前缀
    #customPrePath: 
    #自定义API接口前缀 #{api_base_path}的值
    #apiBasePath: http://localhost:8080/jeecg-boot
    # 预览分页自定义
    pageSize:
      - 10
      - 20
      - 30
      - 40
    # 打印纸张自定义
    printPaper:
      - title: A5纸
        size:
          - 148
          - 210
      - title: A4纸
        size:
          - 250
          - 353
    # 接口超时设置
    connect-timeout: 300000
    # Excel导出模式,fast(快)、primary(精致模式),默认是fast
    export-excel-pattern: fast
    # excel导出每个sheet页得行数,每个sheet页最大1048576
    page-size-number: 100000
    # excel样式超过多少行显示默认样式
    excel-style-row: 1000
    # 设计页面表格的线是否显示,默认true
    line: true
    # 不写字典情况下,下拉框默认显示条数 1.4.2版本后丢弃
    select-show-total: 10
    # 是否启用签名校验,默认不开启,开启后会对执行SQL的接口进行参数校验
    safeMode: true
    # 预览页面的工具条 是否显示 默认true
    viewToolvar: true

  # 文件上传三种模式
  # 1,local本地存储,需要配置存储路径
  # 2.alioss 阿里云线上存储
  # 3.minio MinIo线上存储
  uploadType: local

  # 本地存储路径配置
  path :
    upload: /opt/upload
  # 阿里云存储
  oss:
    endpoint: ??
    accessKey: ??
    secretKey: ??
    bucketName: jimureport
  # minio存储
  minio:
    minio_url: http://minio.jeecg.com
    minio_name: ??
    minio_pass: ??
    bucketName: ??
#输出sql日志
logging:
  level:
    org.jeecg.modules.jmreport : info

3 系统变量

系统变量是预置的一些和当前登录人相关的变量:比如:用户账户、用户部门编码、以及在使用jeecgboot集成报表时支持自定义变量名。

#{sysUserCode} 做为一个系统变量,这里sysUserCode是当前登录人。
例如:
select * from table where create_by='#{sysUserCode}'
属性名 描述 用法
sysUserCode 当前登录人账号 V1.0.10+ #{sysUserCode}
sysDate 当前日期的字符串 格式为 yyyy-MM-dd V1.3.3-beta+ #{sysDate}
sysDateTime 当前时间的字符串 格式为yyyy-MM-dd HH:mm:ss V1.3.3-beta+ #{sysDateTime}

三、报表设计

1 新建报表

1.1 创建新的数据报表

以数据报表为例,简单介绍创建报表的过程

《数据分析-JiMuReport》积木报表详细入门教程_第7张图片

1.2 进入报表设计页面

如下图可见,主要分为四个模块:

  • 模块一(左)

    • 数据集管理
    • 报表信息
    • 数据字典
  • 模块二(右)

    这部分是对数据报表的进一步优化

  • 模块三(上)

    这些功能跟excel的功能很像

  • 模块四(中)

    报表设计也是报表展示区域

《数据分析-JiMuReport》积木报表详细入门教程_第8张图片

1.3 连接数据库

1.3.1 点击SQL数据集

可以看到在数据集管理处有SQL数据集、API数据集、JavaBean数据集、JSON数据集等,这是获取数据的四种方式,可以根据项目实际情况选择合适的数据集管理方式。

《数据分析-JiMuReport》积木报表详细入门教程_第9张图片

1.3.2 维护数据集

《数据分析-JiMuReport》积木报表详细入门教程_第10张图片

1.3.3 数据源维护

上一步点击维护数据集后,会进入到如下页面,可以看到这里有积木报表提供的初始化数据集,可以在其基础上编辑,也可以选择新增数据源

《数据分析-JiMuReport》积木报表详细入门教程_第11张图片

1.3.4 配置数据源

自定义数据源名称,适当的名称可以区分业务

根据自己数据库选择对应的数据源类型

一般情况下选择数据源类型后,会自动匹配对应的驱动类,也可自行修改

数据源地址,主要修改数据库的主机名、端口、以及取数据的数据库名称

最后填写好用户名、密码后,即可点击密码旁的测试

测试成功后,会有如下的"数据库连接成功"提示

确定后,返回即可

《数据分析-JiMuReport》积木报表详细入门教程_第12张图片

1.4 查询数据集

如下图可见,主要分为三个模块:

  • 模块一(左)

    选择用到的数据库后,系统会自动列举该数据库中的表,可以选中表进行数据查询,也可以在报表SQL栏自定义SQL

  • 模块二(上)

    模块主要有编码、名称、是否集合、是否分页、报表SQL、SQL解析

    • 编码尽量是唯一的,名称可以自定义

    • 选中是否集合,代表有多条数据

    • 选择是否分页后,当本页面无法显示所有数据时,会自动分页

    • 在报表SQL处填写查询数据语句

    • 最后点击SQL解析

  • 模块三(下)

    模块主要有报表字段明细、报表参数、数据预览等

    • 报表字段明细是查询的结果字段
    • 报表参数是当SQL语句中有参数的时候,需要用到
    • 数据预览可以预览当前查询结果

《数据分析-JiMuReport》积木报表详细入门教程_第13张图片

1.4.1 报表字段明细
  • 字段名

    这是根据SQL语句查询的结果字段

  • 排序

    给字段的排序,对报表结果没影响,但是当设置多个查询框的时候,它可以决定查询框依次展示的顺序

  • 字段文本

    可以给字段做注释,方便查看,同样在设置查询框的时候,提示语句会是字段文本内容

  • 类型

    有数值类型、字符类型、日期类型。最主要是日期类型,当该字段是日期时,如果你想设置范围查询(比如我想查询该日期2023-01-01到2023-02-02期间数据),那么该字段的类型应该设置为日期类型

  • 字典code

    可以填写自定义的字典,比如数据库有status字段,值为0,1,2。那么可以设置字典,映射对应的含义。

  • 查询

    选中即代表对该字段设置查询

  • 查询模式

    在查询模式中,最常用的是输入框、下拉单选、下拉多选、范围查询、模糊查询

    • 输入框

      不支持模糊搜索

    • 下拉单选

    • 下拉多选

    • 范围查询

      可用于设置时间字段,时间范围查询

    • 模糊查询

      支持模糊查询

    • 下拉树

    • 自定义下拉框

  • 查询默认值

  • 查询日期格式

    日期格式如下,可以根据需求格式化日期

    yyyy-MM-dd HH:mm:ss
    
  • 参数配置

    下拉单选默认只能显示几个,如果需要显示更多的话,可以在参数配置中填写如下

    {'selectSearchPageSize':20}
    

《数据分析-JiMuReport》积木报表详细入门教程_第14张图片

1.4.2 报表参数

在报表SQL中如果添加参数判断语句,则报表参数处会有如下选项框,跟报表字段明细处相同

在如下的操作中,暂时不使用参数

《数据分析-JiMuReport》积木报表详细入门教程_第15张图片

1.4.3 数据预览

数据预览后点击确定即可

《数据分析-JiMuReport》积木报表详细入门教程_第16张图片

1.5 报表设计

上一步确定后,即可进入如下页面,进行报表设计

《数据分析-JiMuReport》积木报表详细入门教程_第17张图片

1.5.1 报表头设计

首先最下面有滚动条,当字段过多时,可以滑动即可

其次最右边的框可能会阻挡视线,在用不到的时候收缩即可

然后根据已有字段,在Excel框中手动填入字段名称即可

《数据分析-JiMuReport》积木报表详细入门教程_第18张图片

1.5.2 数据源绑定

在左侧就是我们需要绑定的数据集,可使用鼠标拖动放置到对应的excel单元格中即可

《数据分析-JiMuReport》积木报表详细入门教程_第19张图片

1.5.3 数据源绑定后

数据集绑定后就是如下页面

《数据分析-JiMuReport》积木报表详细入门教程_第20张图片

1.5.3 报表保存

点击保存后,首次保存需要添加报表名称,以及类型。

之后就会在如下图的左侧栏目显示对应的信息

填写后,点击小眼睛预览即可

《数据分析-JiMuReport》积木报表详细入门教程_第21张图片

1.5.4 报表预览

现在就可以看到数据结果了,从如下我们可以看出

  • 1.因为我们在查询数据集的时候,选了"是否分页"中的是,所有当前我们总共有100条数据,分了十页。

    默认配置中可以在预览报表后,选择每页展示10条、20条、30条、40条

    如果需要50条、100条,那么就可以修改如下配置

    jeecg :
      jmreport:
        # 预览分页自定义
        pageSize:
          - 10
          - 20
          - 30
          - 40
    
  • 2.可以通过首页、上一页、下一页、末页依次查看数据,也可以在"是否分页"中选中否,在一个页面显示

  • 3.除了打印操作外,还有导出操作,其中可以导出为Excel、PDF、PDF图像、图片

    jeecg :
      jmreport:
      # 打印纸张自定义
        printPaper:
          - title: A5纸
            size:
              - 148
              - 210
          - title: A4纸
            size:
              - 250
              - 353
        # Excel导出模式,fast(快)、primary(精致模式),默认是fast
        export-excel-pattern: fast
        # excel导出每个sheet页得行数,每个sheet页最大1048576
        page-size-number: 100000
        # excel样式超过多少行显示默认样式
        excel-style-row: 1000
        # 设计页面表格的线是否显示,默认true
    
  • 4.仔细的话,可以看到最后有一个滑动条,这个是调整导出的清晰度的

不过目前来看,也只是把数据展示出来了,不过看着嘛不是太好看。

《数据分析-JiMuReport》积木报表详细入门教程_第22张图片

2 页面优化

如上图所示的报表,仅仅是展示数据,不过这样看起来似乎太草率了,所以再优化一下吧

保存报表后,在积木报表中就可以看到对应的报表文件

此时我们如果还需要编辑报表,就点击这个报表即可

《数据分析-JiMuReport》积木报表详细入门教程_第23张图片

2.1 居中

选中所有数据后,然后单击居中按钮即可

《数据分析-JiMuReport》积木报表详细入门教程_第24张图片

2.2 加粗

报表头跟数据颜色深度一样,是不是不容易区分,这时就可以给报表头加粗

选中报表头,然后单击加粗按钮即可

在这里插入图片描述

2.3 填充颜色

报表头颜色加粗后,看着是顺眼了点,那么为了更好的区分报表头和报表数据

选中报表头,然后单击填充颜色,选择适当的颜色即可

《数据分析-JiMuReport》积木报表详细入门教程_第25张图片

预览报表01

居中、加粗、填充颜色后,再次预览查看报表

  • 1.可以看到相对好多了,但是每个数据之间是没有划分界限的线的
  • 2.可以看到默认的每个字段分配的大小是一样的
  • 3.在数据库中性别是F、M,那怎么显示为男、女

《数据分析-JiMuReport》积木报表详细入门教程_第26张图片

2.4 添加边框

选择所有数据后,选择添加边框,添加全边框

在这里插入图片描述

2.5 扩展字段单元格

鼠标放在此位置后,会变成双竖线,此时拖动即可

《数据分析-JiMuReport》积木报表详细入门教程_第27张图片

2.6 添加数据字典

2.6.1 打开数据字典

单击左侧的数据字典,右侧的铅笔箭头进入数据字典配置模块

《数据分析-JiMuReport》积木报表详细入门教程_第28张图片

2.6.2 查看数据字典

如下图,积木报表添加的数据字典都在此

  • 1.首先可以通过字典名称、字典编号查询历史数据字典
  • 2.单击添加即可添加新的数据字典
  • 3.已存在的数据字典,可以编辑数据字典的信息,也可以修改字典中配置的信息,也可以删除

《数据分析-JiMuReport》积木报表详细入门教程_第29张图片

2.6.3 添加字典

添加字典后,填写字典名称和字典编码

字典名称自定义即可

字典编码是需要拿到此处使用1.4 查询数据集

《数据分析-JiMuReport》积木报表详细入门教程_第30张图片

2.6.4 字典配置

在这里插入图片描述

单击字典配置后,即可添加配置如下数据,其中数据值是数据库中的数据,名称是其映射的数据

《数据分析-JiMuReport》积木报表详细入门教程_第31张图片

2.6.5 绑定字典

将创建的字典名称复制到性别字段对应的字典Code处,确定即可

《数据分析-JiMuReport》积木报表详细入门教程_第32张图片

预览报表02

可以看到添加边框、字段扩展、匹配数据字典后,效果相对"预览报表01"的时候有好了一点

《数据分析-JiMuReport》积木报表详细入门教程_第33张图片

3 导出为Excel

报表已经初步设计好,可以单击导出,选择导出为Excel查看数据

# application.yml参数
jeecg :
  jmreport:
    # 导出时每个sheet页存储的数据量,超过这个数据量后会分sheet页
    # 每个sheet页最大1048576
	page-size-number: 100000
	# excel样式超过多少行显示默认样式
    excel-style-row: 1000

《数据分析-JiMuReport》积木报表详细入门教程_第34张图片

4 查询框设置

需求描述:

  • 1.想要通过手机号查询对应用户信息
  • 2.想要通过姓名模糊查询用户信息
  • 3.想要根据性别查看用户信息
  • 4.想要查询生日是2000年01月01日到2001年01月01日的用户信息

4.1 通过手机号查询对应用户信息

通过手机号查询用户信息,可使用输入框做查询,必须是手机号一个数字不差。

4.1.1 配置输入框

手机号所在行,勾选查询框,设置查询模式为输入框

《数据分析-JiMuReport》积木报表详细入门教程_第35张图片

4.2.2 手机号查询

可以看到通过手机号查询到对应的用户信息,手机号必须是丝毫不差

《数据分析-JiMuReport》积木报表详细入门教程_第36张图片

4.2 通过姓名模糊查询用户信息

通过姓查询该姓氏下所有的用户,采用模糊查询即可

4.2.1 配置模糊查询

《数据分析-JiMuReport》积木报表详细入门教程_第37张图片

4.2.2 姓名查询

可以看到在姓名框输入陈后,即可筛选出所有姓陈的用户

《数据分析-JiMuReport》积木报表详细入门教程_第38张图片

4.3 通过性别筛选用户信息

4.3.1 配置下拉单选

《数据分析-JiMuReport》积木报表详细入门教程_第39张图片

4.3.2 性别下拉框

《数据分析-JiMuReport》积木报表详细入门教程_第40张图片

4.3.3 性别筛选

《数据分析-JiMuReport》积木报表详细入门教程_第41张图片

4.4 查询生日是2000年01月01日到2001年01月01日的用户信息

4.4.1 配置日期范围查询

《数据分析-JiMuReport》积木报表详细入门教程_第42张图片

4.4.2 查询指定日期范围数据

《数据分析-JiMuReport》积木报表详细入门教程_第43张图片

四、报表优化

1. JimuReport报表下拉框条数参数调整

{'selectSearchPageSize':n}

1.1 下拉框条数限制

下拉框默认只显示10条记录,如果想要显示更多条数可以通过添加参数实现。

《数据分析-JiMuReport》积木报表详细入门教程_第44张图片

1.2 参数

selectSearchPageSize参数,设置参数大小

《数据分析-JiMuReport》积木报表详细入门教程_第45张图片

1.3 效果

可以看到设置的下拉框条数20条已经实现

《数据分析-JiMuReport》积木报表详细入门教程_第46张图片

2. JiMuReport报表开发列数量限制调整

2.1 开发列数限制

  JiMuReport报表在开发的时候,需要100-200列的数据,但是在设计到一定数量的时候,水平下拉框就不能滑动了

《数据分析-JiMuReport》积木报表详细入门教程_第47张图片

2.2 报表参数调整

col: n

  在application.yml文件的jmreport配置处,如果想要开发150个字段以内的报表,那么就添加列索引参数col:150。可以根据需求自行设置。

《数据分析-JiMuReport》积木报表详细入门教程_第48张图片

2.3 效果

调整好参数后,可以再设计这个表,可以发现,已经拥有足够的列数可以开发。

《数据分析-JiMuReport》积木报表详细入门教程_第49张图片

3. JiMuReport报表开发日期筛选功能实现年月日-时分秒筛选

日期筛选可分为年月日筛选、年月日时分秒筛选

具体的实现方式可以根据自己日期的格式设置

3.1 年月日筛选功能

开启日期范围查询通常需要

设置类型:日期类型

查询:是

查询模式:范围查询

在这里插入图片描述

当日期格式包括时分秒的时候,如果在进行筛选的时候只做时分秒筛选,那么筛选的精度可能达不到业务需求

《数据分析-JiMuReport》积木报表详细入门教程_第50张图片

3.2 设置日期查询格式

将需要进行筛选查询的日期

修改查询日期格式为:yyyy-MM-dd HH:mm:ss

在这里插入图片描述

3.3 效果

修改查询日期格式后,就可以精准到时分秒进行筛选

《数据分析-JiMuReport》积木报表详细入门教程_第51张图片

你可能感兴趣的:(数据分析,JeecgBoot,数据分析,数据挖掘)