查看原文
其他

第一款基于Apache-2.0开源协议的中式报表引擎UReport2

小晨 爱编程爱技术 2023-12-13

UReport2 是一款基于 Apache-2.0 License 的开源中式报表引擎,基于架构在Spring 之上纯 Java 的高性能报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。 

🌱 UReport2 主要功能和亮点

  • 完善的网页报表设计器:提供了强大而完善的基于网页的报表设计器,用户可以轻松快速地创建各种复杂的中式报表

  • 跨浏览器支持:支持在多种主流浏览器中运行,包括Chrome、Firefox、Edge等
  • 兼容性:除IE浏览器之外的其他浏览器上,提供了良好的兼容性和用户体验
  • 开源协议:基于Apache-2.0开源协议,完全免费

🍄 基于Maven的UReport2项目搭建

首先我们需要创建一个标准的 Maven 项目(具体创建过程可以使用 Eclipse 或其它工具,这里就不再赘述),然后要打开 Maven 的 pom.xml 文件,在其中添加 UReport2 的依赖信息,如下所示:

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

在 pom.xml 中添加一个 repository 信息,告诉 Maven 该到这里去下载依赖的包,repository 信息如下所示:

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

pom.xml 完整内容

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.bstek.ureport</groupId>
<artifactId>ureport2-demo</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>com.bstek.ureport</groupId>
<artifactId>ureport2-console</artifactId>
<version>2.2.2</version>
</dependency>
</dependencies>
</project>

接下来,我们需要配置一个 UReport2 需要使用到的 servlet。打开项目的 web.xml 文件,在其中添加如下所示的 servlet 配置:

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

在这个 servlet 配置当中,值为“/ureport/*”的 url-pattern 是一定不能变的,否则系统将无法运行。

1. 如果项目中没有用 spring,可以直接加载 UReport2 提供的配置文件。打开 web.xml,添加 spring 的 listener 直接加载ureport-console-context.xml配置文件,如下所示:

直接加载 UReport2 的 spring 配置文件

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

2. 如果项目中已经用到了 spring,可以在已存在的 spring 配置文件中导入 UReport2的配置文件,如下配置所示:

导入 UReport2 提供的 spring 配置文件

<import resource="classpath:ureport-console-context.xml" />

3. 如果你的 spring 项目中没有 spring 配置文件,可以在 WEB-INF 目录下新建一个名为 context.xml 的配置文件,并在 context.xml 中导入 ureport-console-context.xml 配置文件,如下所示:

context.xml 文件内容

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
"
>
<import resource="classpath:ureport-console-context.xml" />
</beans>

接下来打开 web.xml,在其中添加一个 spring 提供的 listener,加载我们新建的这个 context.xml 文件,如下所示:

listener 中加载 context.xml 文件

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/context.xml</param-value>
</context-param>

到这里,我们就在一个标准的 Maven 项目中加入了  UReport2。

运行项目,在浏览器中访问 URL:

http://localhost:8080/ureport-demo/ureport/designer

UReport2 的报表设计器界面预览

🎈 结语

在 UReport2 中提供了全新的基于网页的报表设计器,采用纯网页报表模版设计器,基于单元格迭代方式,可快速开发出各种类型复杂中式报表;可以在Chrome、Firefox、Edge等各种主流浏览器运行。使用 UReport2 打开浏览器即可完成各种复杂报表的设计制作。

附官网链接:

源码github地址:
https://github.com/youseries/ureport
w3cschool教程: 
https://www.w3cschool.cn/ureport
UReport2教学视频
http://pan.baidu.com/s/1boWTxF5,密码:98hj

END




你好·秋天


度过悠长而又愉悦的夏天

我们迎来了初秋的凉

大地妆点上了金色的秋装

我在这个秋天与你相遇、相知

让我们一起来过个好秋!




点击关注我们,谢谢支持


往期推荐:

短视频去水印黑科技!
怡氧:一个功能齐全的办公套件,支持Office套件
Spring RestTemplate上传文件
零拷贝详解
手把手教你搭建MyPer4J、Grafana、InfluxDB实时监控系统
TLog:轻量级的分布式日志标记追踪神器
继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存