睿阳知识库 睿阳知识库
首页
  • npm库配置
  • PC端

    • npm常用命令
    • vue问题记录
    • SEO基础知识及优化
    • 禁止别人调试我的前端页面代码
  • 移动端

    • 小程序
    • Risun.js使用说明
  • Java

    • Maven库配置
    • RSP开发框架
    • RSP框架插件
  • .NET

    • Nuget库配置
  • Python

    • Pypi库配置
  • 常见问题

    • Word转Pdf字体错乱
    • 使用Jacob进行Word导出PDF
  • 自动部署
  • 前端带路径
  • Linux

    • 应用部署
  • Windows

    • 应用部署
  • 视频监控
  • MySQL系列~
  • 应用高可用
  • 静态代码扫描
  • OpenSSH版本升级
  • 区块链~
  • 软件过程文档目录
  • 著作权申请须知及申报示例
  • 项目申报技巧
  • 项目竣工资料清单
  • 科技项目申报流程及注意事项
  • 初级职称申报
  • 产品需求文档基础知识
  • 产品经理需了解的技术知识
  • 墨刀原型设计指南
  • 文档规范
  • 文档规范
  • 投标工作总结(一)
  • 科技项目申报心得体会
  • 数字孪生
  • AI
  • RSP基础平台
  • RMCloud
  • 区块链
  • 网络态势感知
  • 国产化
  • 数据湖
  • 贡献度
  • 文档编写说明
  • Markdown教程
工作链接
首页
  • npm库配置
  • PC端

    • npm常用命令
    • vue问题记录
    • SEO基础知识及优化
    • 禁止别人调试我的前端页面代码
  • 移动端

    • 小程序
    • Risun.js使用说明
  • Java

    • Maven库配置
    • RSP开发框架
    • RSP框架插件
  • .NET

    • Nuget库配置
  • Python

    • Pypi库配置
  • 常见问题

    • Word转Pdf字体错乱
    • 使用Jacob进行Word导出PDF
  • 自动部署
  • 前端带路径
  • Linux

    • 应用部署
  • Windows

    • 应用部署
  • 视频监控
  • MySQL系列~
  • 应用高可用
  • 静态代码扫描
  • OpenSSH版本升级
  • 区块链~
  • 软件过程文档目录
  • 著作权申请须知及申报示例
  • 项目申报技巧
  • 项目竣工资料清单
  • 科技项目申报流程及注意事项
  • 初级职称申报
  • 产品需求文档基础知识
  • 产品经理需了解的技术知识
  • 墨刀原型设计指南
  • 文档规范
  • 文档规范
  • 投标工作总结(一)
  • 科技项目申报心得体会
  • 数字孪生
  • AI
  • RSP基础平台
  • RMCloud
  • 区块链
  • 网络态势感知
  • 国产化
  • 数据湖
  • 贡献度
  • 文档编写说明
  • Markdown教程
工作链接
  • Java

    • Maven库配置
    • RSP开发框架
    • RSP框架插件
    • 框架插件

      • 工作流
      • Word、PDF、Excel增强
      • 消息提醒
      • 资源打包成ZIP下载
      • 区分多个项目Redis缓存
      • 留言评论
      • 内部消息队列
      • 文件预览增强
      • 在线Excel报表设计
        • 一. 下载源码
        • 二. 插件集成
          • 1. [项目]-jimu-report
          • 2. ui
          • 3. 执行SQL
          • 4. 替换积木报表jar包
          • 5. 框架修改
          • 6. 修改application.yml
        • 三. 设计说明
          • 1. 权限设计
          • 2. 数据字典
          • 3. 菜单设置
      • 自定义高级查询
  • .NET

  • Python

  • 常见问题

  • 后端
  • Java
  • 框架插件
孙超
2023-05-31
目录

在线Excel报表设计

框架添加了在线Excel报表设计功能,基于积木报表进行二次开发。若要使用此功能,请进行如下操作,集成功能:

# 一. 下载源码

下载 在线Excel报表设计插件 (opens new window)。

# 二. 插件集成

report

# 1. [项目]-jimu-report

将[project-jimu-report]模块添加到您的项目中,按项目修改pom.xml

<module>[按项目修改project]-jimu-report</module>
<artifactId>[按项目修改project]-jimu-report</artifactId>

<!-- 通用工具-->
<dependency>
  <groupId>com.risun</groupId>
  <artifactId>[按项目修改project]-framework</artifactId>
</dependency>

# 2. ui

  • 将view/jimureport目录复制到[项目]-ui/src/views/下
  • 将api/jimureport复制到[项目]-ui/src/api/下

# 3. 执行SQL

两种方式

  1. 手动执行V1_5__init_jimureport.sql

  2. 通过框架数据库版本管理功能自动执行(将V1_5__init_jimureport.sql放到[项目]-admin/src/main/resources/db/migration/下)

# 4. 替换积木报表jar包

下载二次开发后的jar包 (opens new window),替换本地的依赖包。

本地依赖包默认位于:

~/.m2/repository/org/jeecgframework/jimureport/jimureport-spring-boot-starter/1.5.8/

# 5. 框架修改

检查框架中的三个类Constants.java、SecurityConfig.java、TokenService.java,若没有相应的代码,需要进行如下修改

Constants.java 添加

/** 
 * 积木报表
 */
public static final String JIMU_TOKEN = "X-Access-Token";
public static final String JIMU_PREFIX = "jmreport";
public static final String JIMU_STATIC = "desreport_";

SecurityConfig.java 添加

// 积木报表静态资源、报表分享,可匿名访问
.antMatchers("/jmreport/desreport_/**", "/jmreport/img/**", "/jmreport/shareView/**", "/jmreport/share/verification/**",
				"/jmreport/addViewCount/**", "/jmreport/show/**", "/jmreport/getQueryInfo/**", "/jmreport/upload").permitAll()

TokenService.java


// String token = request.getHeader(header);  修改为

String token = StrUtil.isNotEmpty(request.getHeader(header)) ? request.getHeader(header) : getJimuReportToken(request);

// 新增方法

/**
 * 获取积木报表请求token
 * 
 * @param request
 * @return
 */
private String getJimuReportToken(HttpServletRequest request) {
    String token = "";
    String uri = request.getRequestURI();
    
    if(StrUtil.startWith(uri, "/".concat(Constants.JIMU_PREFIX)) && !StrUtil.contains(uri, Constants.JIMU_STATIC)) {
        token = request.getParameter(Constants.TOKEN);
        if(StrUtil.isEmpty(token)) {
          token = request.getHeader(Constants.JIMU_TOKEN);
        }
    }
    return token;
}

/**
 * 获取用户身份信息
 *
 * @return 用户信息
 */
public LoginUser getLoginUser(String token) {
    if (StrUtil.isNotEmpty(token)) {
      try {
          Claims claims = parseToken(token);
          // 解析对应的权限以及用户信息
          String uuid = (String) claims.get(Constants.LOGIN_USER_KEY);
          String userKey = getTokenKey(uuid);
          LoginUser user = redisCache.getCacheObject(userKey);
          return user;
        }
        catch (Exception e) {
        }
    }
    return null;
}

# 6. 修改application.yml

在最后添加配置:

## 积木报表配置
jeecg: 
  jmreport: 
    pageSize:
      - 10
      - 20
      - 30
      - 40
      - 50
    customPrePath: /dev-api
  uploadType: local
  path: 
    upload: ${risun.profile}/report

# 三. 设计说明

# 1. 权限设计

只有系统管理和报表专员(report_specialist)可以进行报表设计。

人员(角色) 查询 新增报表 编辑报表 复制模板 模板设置 数据字典
系统管理员 所有报表 有 有 有 有 有
报表专员(角色 ) 自己创建和所在部门拥有权限的报表 无 有 有 无 无
普通员工 所在部门拥有权限的报表 无 无 无 无 无

# 2. 数据字典

  • 可以从系统数据字典中进行同步,相同的字典类型同步后会覆盖。
  • 可以根据业务需求自定义字典,不影响系统数据字典。

# 3. 菜单设置

文件预览增强
自定义高级查询

← 文件预览增强 自定义高级查询→

最近更新
01
vue问题记录
10-11
02
RSP进度
10-09
03
贡献度
09-28
更多文章>
Copyright © 2014-2025 甘肃睿阳科技有限公司 陇ICP备15001783-1号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式