ureport2学习笔记

转自:https://blog.csdn.net/dongjak/article/details/83211795

了解Ureport2

从上面这段对ureport2的描述中,可以整理出如下信息:

  1. 这个组件是用来生成报表的
  2. 它是用java语言编写的
  3. 基于spring构建,以spring在如今java应用系统中的普及率来看,这意味着这款报表组件能够很好的与大部分系统结合
  4. 高性能-目前还是初次接触,并没有做过性能测试,因此这里假设它是高性能的
  5. 通过迭代单元格来实现任意复杂的中国式报表,回想一下以前用过的报表组件,最早接触到的是java写的jfreechart,用的最多的是js写的highcharts,最经典的用法就是后台准备数据,然后交给highcharts中各个具体的控件来渲染.因为之前都是停留在使用层面上,所以这里的迭代单元格我不太明白,是说可以通过对每个单元格定制数据和样式来实现复杂的报表吗?
  6. 它提供了一个网页版的设计器

搭建简单示例

  1. 新建一个maven web项目,然后导入ureport2包和数据库驱动包,如下图:
  2. 在spring配置文件中导入ureport2配置文件
  3. 然后就是在web.xml中配置spring和ureport2,如下图:
  4. 最后部署运行这个web应用,打开http://localhost:8080/ureport/designer就可以使用设计来创建报表

项目结构

github ureport2项目主页上可以看到如下图:

目录 内容
docs 项目相关文档
ureport2-console 处理报表设计发送的报表相关的请求
ureport2-core 相关模型定义、报表解析、存储、导出和构造相关的代码
ureport2-font 自定义字体
ureport2-js 网页设计器js脚本
ureport2-parent 包含项目的一些基本信息,比如license,开发人员,maven仓库配置等

熟悉报表设计器

工具栏

报表内容设计区

非表格类型的报表设计:

数据源面板

报表的目的是更直观的展示数据,数据集就相当于一个逻辑数据块,类似于sql里面的视图

单元格属性配置面板

几个简单的用例

企业供应信息统计

表达式列的使用

饼形图

创建查询表单

源代码浅析

找到入口

在web.xml中配置的UReportServlet是ureport2-console项目的入口,它处理所有/ureport前缀的请求并根据url将具体的请求分发到对应的ServletAction来实现

具体的代码分析

在chrome中可以通过控制台网络面板看到在ureport2进行各种操作后发送到后台的请求来跟踪具体模块的代码,如下图:

所有的报表逻辑处理类在ureport-console项目src/main/resources/ureport-console-context.xml文件中都有配置

猜你喜欢

转载自blog.csdn.net/qq_22596931/article/details/109779580