报表

神器!!!Ureport2报表工具使用及扩展

2019-11-21  本文已影响0人  逸如风飞

Ureport2简介

 [示例地址](http://www.bsdn.org/projects/ureport/deploy/ureport-sample/#)
 UReport2是一款基于架构在Spring之上纯Java的高性能报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。
 相比UReport1,UReport2重写了全部代码,弥补了UReport1在功能及性能上的各种不足。
   在UReport2中,提供了全新的基于网页的报表设计器,可以在Chrome、Firefox、Edge等各种主流浏览器运行(IE浏览器除外)。
 使用UReport2,打开浏览器即可完成各种复杂报表的设计制作。
  UReport2是第一款基于Apache-2.0开源协议的中式报表引擎,
  Github地址:https://github.com/youseries/ureport。

准备工作

可以参考官方文档
http://wiki.bsdn.org/pages/viewpage.action?pageId=76448360
但是注意坑

添加maven仓库

 <repository>
            <id>snapshots</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
        </repository>
        <repository>
            <id>sonatype</id>
            <url>https://oss.sonatype.org/content/groups/public/</url>
        </repository>

添加依赖

<dependency>
            <groupId>com.bstek.ureport</groupId>
            <artifactId>ureport2-console</artifactId>
            <version>2.3.0-SNAPSHOT</version>

        </dependency>
        <dependency>
            <groupId>com.bstek.ureport</groupId>
            <artifactId>ureport2-core</artifactId>
            <version>2.3.0-SNAPSHOT</version>
        </dependency>

https://files.cnblogs.com/files/Halburt/2.3.0-SNAPSHOT.rar
https://files.cnblogs.com/files/Halburt/ureport2-core2.3.0-SNAPSHOT.rar

版本说明

官方正式版本 2.2.9中 使用条件时,重新加载报表会导致条件操作符变成undefined。
同时集成过程中会发现poi和spring相关版本不一致出问题。
<spring.version>4.3.11.RELEASE</spring.version>
<jackson.version>2.8.7</jackson.version>
<poi.version>3.16</poi.version>

web.xml配置文件

添加report配置文件及servlet

<!-- Context ConfigLocation -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:/spring-context*.xml,classpath:ureport-console-context.xml</param-value>
    </context-param>
    <servlet>
        <servlet-name>ureportServlet</servlet-name>
        <servlet-class>com.bstek.ureport.console.UReportServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ureportServlet</servlet-name>
        <url-pattern>/ureport/*</url-pattern>
    </servlet-mapping>

具体使用及教程

参考
http://wiki.bsdn.org/pages/viewpage.action
UReport2教学视频http://pan.baidu.com/s/1boWTxF5,密码:98hj
教程介绍的比较简要。

扩展实现

快捷键扩展

$(".top-toolbar").append("<a href='javascript:$(\".ureport-preview\").click()'> 预览 </a>"  )
$(".top-toolbar").append("<a href='javascript:$(\".ureport-save\").click()'> 保存 </a>"  )
$(".top-toolbar").append("<a href='javascript:$(\".ureport-save\").click() ;$(\".ureport-preview\").click()'> 保存之后预览 </a>"  )

screenShot713b66.png

多租户报表支持

报表管理与ureport报表整合

报表数据缓存

针对数据报表查询统计速度较慢的情况,需要添加单独数据表进行存储报表接口。

数据库设计

screenShot3da67d.png
字段说明
    private String name;        // 名称
    private String reportCode ; //报表编码
    private String parms;       // 参数json
    private String orgId;       // 组织
    private Date submitTime;        // 提交时间
    private String style;       // html样式
    private String content;     // Html内容
    private String excel;       // excel文件地址
    private String companyId;       // 所属公司
    private Date reportDate;        // 所属日期
    private User user;      // 所属人

ID:报表ID + 参数 的组合字符串,可采用MD5

大家如果对Ureport有什么建议或者技巧,欢迎留言私信

上一篇下一篇

猜你喜欢

热点阅读