ureport2报表详细使用(一)-集成及配置

ureport2报表详细使用(一)-集成及配置一 报表简介 UReport2 是一款基于架构在 Spring 之上纯 Java 的高性能报表引擎 通过迭代单元格可以实现任意复杂的中国式报表 在 UReport2 中 提供了全新的基于网页的报表设计器 可以在 Chrome Firefox 等各种主流浏览器运行 不支持 IE 使用 UReport2 打开浏览器即可完成各种复杂报表的设计制作 二 主体功能 UReport2 支持创建数据源 添加数据集 并对数据集进行函数 表达式处理 参考 数据处理 UReport2 支持对数据集形成可视化报表 包

一、报表简介

UReport2是一款基于架构在Spring之上纯Java的高性能报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。 在UReport2中,提供了全新的基于网页的报表设计器,可以在Chrome、Firefox 等各种主流浏览器运行 (不支持IE)。 使用UReport2,打开浏览器即可完成各种复杂报表的设计制作。

二、主体功能

  1. UReport2支持创建数据源、添加数据集,并对数据集进行函数、表达式处理;(参考【数据处理】)
  2. UReport2支持对数据集形成可视化报表,包括饼状图、柱状图、曲线图等等(参考【图表展示】)

三、优缺点阐述

优点:

(1)开源、免费,集成即可使用;

(2)轻量级、易集成,工程中添加依赖即可进行集成使用;

(3)支持多函数处理,包括常用函数(sum、count、max、min、avg)、数学函数、字符串函数、日期函数等等;

(4)支持多种图表展示,包括饼状图、柱状图、曲线图、圆环图、雷达图、散点图等等;

缺点:

(1)工程在使用过程中经常出现空指针或者其他报错;

(2)UReport2部分功能不可用,包括导出及多条件表达式SQL查询等;

(3)支持数据源类型少,当前支持:mysql、SQLserver、oracle、db2等

四、集成及配置

UReport2的设计器是基于网页的,配置好一个项目,也就完成了报表设计器的安装。因为 UReport2是一款纯Java的报表引擎,所以它支持现在流行的所有类型J2EE项目,下面将具体介绍基于maven的SpringBoot工程如何集成UReport2 ,并基于当前工程进行一系列的数据处理及报表展示。

4.1 创建springboot工程

1、如果当前本地无springboot工程,提供下载地址:https://github.com/Sonlan/springboot-demo

2、基于已下载的springBoot工程,修改index.html文件内的外部js文件路径,将../修改为../../(原始路径不正确);

ureport2报表详细使用(一)-集成及配置

4.2 添加依赖

1、在springBoot工程的pom文件dependencies中添加依赖;

<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>          <dependency>  <groupId>org.slf4j</groupId>  <artifactId>slf4j-api</artifactId>  <version>1.7.7</version> </dependency>

2、在springBoot工程的pom文件添加repositories;

<repositories>         <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> </repositories>

3、基于当前工程,创建webapp/WEB-INF目录,工程【main】目录右键【Directory】》输入【webapp】,基于webapp,继续新建directory》【WEB-INF】;

ureport2报表详细使用(一)-集成及配置

4.3 创建web.xml文件并配置

1、基于已新建【webapp】》【WEB-INF】目录,添加web.xml文件,点击【file】》【Project Structure】》【Facets】》【web】,新增web.xml文件及web resources directory;

ureport2报表详细使用(一)-集成及配置

说明: E:\company\idea\IdeaProjects\springboot-demo-master\src\main:为当前我工程的路径 E:\company\idea\IdeaProjects\springboot-demo-master\src\main\webapp\WEB-INF\web.xml(第5步) E:\company\idea\IdeaProjects\springboot-demo-master\src\main\webapp (第7步)

2、基于步骤6新增的web.xml文件,添加listener及context-param、servlet、servlet-mapping;

ureport2报表详细使用(一)-集成及配置

<listener>  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param>  <param-name>contextConfigLocation</param-name>  <param-value>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>

4.4 创建UreportConfig 文件

1、基于工程启动文件的父节点,创建子文件夹ureport》config,并创建UreportConfig 文件;

ureport2报表详细使用(一)-集成及配置

package com.song.configuration.ureport.config; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.ImportResource; import com.bstek.ureport.console.UReportServlet; /  *  Ureport2 配置类  * @author qiaolin  * @version 2018年5月9日  */ @ImportResource("classpath:ureport-console-context.xml") @EnableAutoConfiguration @Configuration @ComponentScan(basePackages = "com.song.configuration") public class UreportConfig {     @Bean     public ServletRegistrationBean buildUreportServlet(){         return new ServletRegistrationBean(new UReportServlet(), "/ureport/*");     } }

2、在配置途中,当缺少包时,需要根据提示自行添加、下载依赖,配置完成,点击resources目录,修改application.properties文件中关于mysql的配置,换成可用库(因为当前springboot工程是以一张user表为例的,所以当前连接的数据库中需要包含user表,囊括id、name、password字段),工程启动的端口号,默认是8080,此处已修改为18090;

ureport2报表详细使用(一)-集成及配置

#server server.port=18090 server.tomcat.uri-encoding=utf-8 #MySQL(当前仅为示例) spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/jeesite?characterEncoding=utf8 spring.datasource.username=root spring.datasource.password=

4.5 启动工程

1、当上述均配置完成,进入到启动文件Entry,右键点击【Run Entry】启动工程;

ureport2报表详细使用(一)-集成及配置

4.6 访问工程

工程成功启动,访问地址为: http://localhost:18090/ureport/designer

ureport2报表详细使用(一)-集成及配置

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232395.html原文链接:https://javaforall.net

(0)
上一篇 2025年10月13日 下午7:01
下一篇 2025年10月13日 下午7:22


相关推荐

  • pytest的使用_java直接调用方法

    pytest的使用_java直接调用方法Pytest执行用例规则Pytest在命令行中支持多种方式来运行和选择测试用例1.对某个目录下所有的用例pytest2.对模块中进行测试pytesttest_mod.py3.对文件夹进行

    2022年7月28日
    6
  • PyTorch:学习conv1D,conv2D和conv3D「建议收藏」

    PyTorch:学习conv1D,conv2D和conv3D「建议收藏」背景CNN是深度学习的重中之重,而conv1D,conv2D,和conv3D又是CNN的核心,所以理解conv的工作原理就变得尤为重要。在本博客中,将简单梳理一下这三种卷积,以及在PyTorch中的具体实现。参考https://pytorch.org/docs/master/nn.html#conv1dhttps://pytorch.org/docs/master/nn.function…

    2025年7月1日
    4
  • 线程池和队列学习,队列在线程池中的使用,什么是队列阻塞,什么是有界队列「建议收藏」

    线程池和队列学习,队列在线程池中的使用,什么是队列阻塞,什么是有界队列「建议收藏」线程池和队列学习,队列在线程池中的使用,什么是队列阻塞,什么是有界队列

    2022年4月24日
    64
  • C语言符号意思(看了必懂系列)「建议收藏」

    C语言符号意思(看了必懂系列)「建议收藏」所有的努力都不会完全白费,你付出多少时间和精力,都是在对未来的积累。世界上什么都不公平,唯独时间最公平,你是懒惰还是努力,时间都会给出结果。auto:声明自动变量一般不使用double:声明双精度变量或函数int:声明整型变量或函数struct:声明结构体变量或函数break:跳出当前循环else:条件语句否定分支(与if连用)long:声明长整型变量或函数swit…

    2022年5月19日
    82
  • linux的rwx权限解读

    linux的rwx权限解读linux的rwx权限解读:我们输入指令:ls-l会看到类似我这样的语句drwx-xr-x-我们可以这样解读:首字母:文件类型d:d开头的是文件夹-:文件l:连接(快捷方式)c:硬件设备然后是三组rwx:第一组rwx:创建着权限。第二组rwx:创建者所属组权限。第三组rwx:访客权限。r:可读(4)w:可写(2)x:可执…

    2022年6月9日
    50
  • Spark Streaming Join「建议收藏」

    Spark Streaming Join「建议收藏」多数据源Join思路多数据源Join大致有以下三种思路:数据源端Join,如Android/IOS客户端在上报用户行为数据时就获取并带上用户基础信息。计算引擎上Join,如用SparkStreaming、Flink做Join。结果端Join,如用HBase/ES做Join,Join键做Rowkey/_id,各字段分别写入列簇、列或field。三种思路各有优劣,使用时注意…

    2022年6月30日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号