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>" )
多租户报表支持
报表管理与ureport报表整合
报表数据缓存
针对数据报表查询统计速度较慢的情况,需要添加单独数据表进行存储报表接口。
数据库设计
字段说明
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