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

项目地址

安装与配置

  1. 创建一个maven项目,在pom.xml中添加依赖
<dependency><groupId>com.bstek.ureport</groupId><artifactId>ureport2-console</artifactId><version>[version]</version>
</dependency>
  1. 配置ureport需要的servlet
@ImportResource("classpath:context.xml")
@SpringBootApplication
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}/***    "/ureport/*"  固定写法* @return*/@Beanpublic ServletRegistrationBean buildUreportServlet(){return new ServletRegistrationBean(new UReportServlet(),"/ureport/*");}
}
  1. 如果将UReport配置到已经存在的spring项目中,同时spring也要加载自己的properties文件,需要进行如下配置:
    在src->main->resources 下创建一个context.properties文件,并且在application类加注解@ImportResource(“classpath: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"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><import resource="classpath:ureport-console-context.xml"/><!-- 引入配置文件 --><bean id="propertyConfigurer" parent="ureport.props"><property name="location"><!-- spring项目的配置文件 --><value>classpath:application.yml</value></property></bean></beans>
  1. 需要加载的自己的properties文件如下ureport.properties
#文件的保存路径 随便配置
ureport.fileStoreDir=E:/web/ureportfiles
ureport.disableFileProvider=false
ureport.debug=true
ureport.disableHttpSessionReportCache=false

到这里,我们就在一个标准的 Maven 项目中加入了 UReport2,运行项目,在浏览器中访问 URL:http://localhost:8080/ureport-demo/ureport/designer,就可以看到 UReport2 的报表设计器界面。

报表保存以及数据源配置

  • 数据库数据源


    点测试连接 提示成功则保存,就可以选择数据库中的某个表把数据取出来。
  • spring bean数据集
    创建一个bean类
@Component
public class TestBean {/*** @param dsName  数据源名称* @param datasetName 数据集名称* @param parameters 外部传入的map* @return*/public List<Map<String,Object>> loadReportData(String dsName,String datasetName,Map<String,Object> parameters){return null;}public List<User> buildReport(String dsName,String datasetName,Map<String,Object> parameters){return null;}
}

添加数据集的时候选择方法就会弹出上面两个在代码中定义的方法名,返回对象如果指定返回对象需要使用全路径即可

  • 内置数据源
@Component
public class TestInDataSource implements BuildinDatasource {@Autowiredprivate DataSource dataSource;@Overridepublic String name() {return "cluster";}@Overridepublic Connection getConnection() {try {return dataSource.getConnection();} catch (SQLException throwables) {throwables.printStackTrace();log.println("========"+throwables.getMessage());}return null;}
}

如果报DataSource为空,在pom.xml中添加依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

UReport使用总结相关推荐

  1. 水晶报表 jar包版本过低_工具类学习-UReport报表设计器整合

    dada-report报表整合UReport报表设计器工具 结合日常工作和学习实践,针对传统报表子站面临的问题,尝试借助UReport报表设计器解决 1.可在现有工程基础上引入Ureport2报表设计 ...

  2. ureport 报表合并单元格后双斜表头制作

    ureport 报表双斜表头制作 本人翻遍了百度也没有找到合适的方法 无意间的操作竟然成功了 下面分享下步骤 具体细节朋友自己微调下 感觉对您有帮助 点个赞 1.首先打开报表制作中心 选择要合并的单元 ...

  3. Spring boot 集成 ureport (三) 报表存储至数据库

    声明:代码为核心代码,为了简洁!完整代码请移步我的github -->[带我传送到github] UReport2默认提供的名为"服务器文件系统"的报表存储机制,实际上是实现 ...

  4. ureport使用问题总结

    文章目录 1.数据属性 过滤条件 在集合中的使用格式 2.获取模版生成的html字符串 3.换行的使用 4.总分总形式模版设计 5.动态传参数到 sql 中 like 用法 6.sql 获取外部参数- ...

  5. vue ureport

    1.SpringBoot后端整合不用说 <template><t-drawer class="r-dw" :visible="visible" ...

  6. 开源UReport 整合到产品中实践简要:(七)ureport设计器设计报表前基本功知识-表达式与函数

    一.ureport中表达式(其实也包含了函数,函数也是在表达式进行定义) (1)基本表达式类型:数字(含小数位支持),字符串,布尔值 (2)支持加减乘除,求余数(%). (三)三元表达式: 可以看到, ...

  7. Springboot + Ureport

    Ureport通过配置生成报表 一.首先创建一个springboot项目,引入包,pom.xml 如下: <?xml version="1.0" encoding=" ...

  8. ureport 显示html,Ureport2报表使用问题及注意事项汇总

    近期处理了一些Ureport2报表问题,对源码略有了解.现将所遇到的问题总结如下: ------------------------------------------ 问题:html显示的表格实际宽 ...

  9. 开源UReport 整合到产品中实践简要:(二)UReport 设计器制作的报表效果参考(转载)

    ​ UReport2是一款基于架构在Spring之上纯Java的高性能报表引擎,通过迭代单元格可以实现任意复杂的中国式报表. ​ 在UReport2中,提供了全新的基于网页的报表设计器,可以在Chro ...

最新文章

  1. .net环境故障处理
  2. junit的使用说明
  3. 理解 JavaScript 闭包
  4. python 使用 asyncio 包处理并发
  5. 服务器响应401,服务器返回HTTP响应代码:401,URL:https
  6. golang 学习记录
  7. libusb libusbk
  8. Docker部署微服务应用的架构设计
  9. 开源webrtc服务器对比
  10. Excel科学计数法转换成文本完整显示
  11. 【网络教程】Windows10如何开启/关闭启动快速启动,解决启动快速启动按钮灰色不可设定
  12. c#录音和放音,超简单!不用DirectX
  13. rtx2060什么水平_老平台升级RTX2060,——性能,功耗,静音都一步到位!
  14. ZooKeeper - 分布式锁
  15. bzoj1613 贝茜的晨练计划
  16. 追觅三大无线吸尘器对比,看哪款适合你?
  17. npx mrm lint-staged 报 Preset “default” not found. 解决方案
  18. java 检测网络图片大小_用security.imgSecCheck检测网络图片(Java实现)
  19. 【安防百科】视频监控中常用的分辨率
  20. 专业实践记录IIII: 端到端跨语言音色迁移语音合成论文 - 三步走

热门文章

  1. matlab算法封装成库,将函数封装成库使用的实现方法
  2. 一步一步的微软Lync 2010综合标准服务器安装指南
  3. 图像算法处理知识集合
  4. 瞧不上 C++ 和 D 语言,国外程序员将 5.8 万行代码迁移到 Jai 语言,到底图什么?
  5. 读取html tr td,获取tr td 的三种方式
  6. 第三方Android应用市场横向对比大测评
  7. linux php域名解析,linux下用dnspod实现动态域名解析(可用于Tomato等路由器)
  8. AVP-SLAM算法学习
  9. 数字万用表原理图,重点是第三种,电路详细
  10. B2c购物网(一) 数据库关系图