ureport2报表详细使用(二)-报表基础配置
五、报表基础配置5.1 工具栏1)顶栏:针对报表:报表预览、保存报表、打开报表、导入excel、报表配置、查询表单设计器;针对单元格:重做(下一步)、撤销(上一步)、合并/拆分单元格、上下对齐、表格有无边框、斜线表头;针对数据:字体样式、字体大小、是否加粗、斜体、下划线、背景色、字体颜色、图片、二维码、图表图片:选择左侧单元格,在右侧对应属性区域,输入图片路径,默认支持以classpath:开头位
五、报表基础配置
5.1 工具栏
1)顶栏:针对报表:报表预览、保存报表、打开报表、导入excel、报表配置、查询表单设计器;
针对单元格:重做(下一步)、撤销(上一步)、合并/拆分单元格、上下对齐、表格有无边框、斜线表头;
针对数据:字体样式、字体大小、是否加粗、斜体、下划线、背景色、字体颜色、图片、二维码、图表
图片:
选择左侧单元格,在右侧对应属性区域,输入图片路径,默认支持以classpath:开头位于classpath下的图片文件,或以/开头位于WEB应用根目录下或某目录下的图片文件;
比如"/WEB-INF/static/images/test.jpg"
2)左栏:单元格栏,可针对指定单元格进行单元格样式及数据的设置,鼠标右键可设置单元格;
标题行:
在报表计算后分页时只会出现在第一页第一行的行,如果定义了多个行为标题行类型,那么这些行将在报表运行后分页输出时第一页最前面插入标题行。需要注意的是,我们在报表中可以将位于任意位置的行定义成标题行,但报表计算分页输出时,总会将这些定义为标题行的行放在报表的第一页最前端显示;
重复表头:
与标题行不同的是,定义为重复表头行的行,在报表计算分页输出时会将定义成重复表头行的行放在每一页的前端进行显示。如果当前报表中定义的有标题行,那么对于第一页,标题前将位于最上面,其下才是重复表头行定义的行;
重复表尾:
与重复表头行类型,它也会在报表计算分页输出时放在每一页中显示,只是它会在每一页的最下端显示;
总结行:
与标题行对应,总结行会出现在报表计算后分页输出时最后一页的最下端显示。如果当前报表中定义了重复表尾行,那么在报表计算后分页输出的最后一页中总结后将位于重复表尾行下方显示。
3)右栏:单元格属性栏及数据源配置,可针对(2)中指定单元格,进行链接、类型(文本、表达式、数据集、图片、斜表头、二维码、条码、图表)、及对应类型下参数设置;
备注:
A、不同类型单元格,配置参数不一致,按界面要求输入参数即可;
B、链接:为单元格设置链接的后缀,比如URL配置为:/user/index,目标窗口:新窗口,那么在【预览报表】时,点击该单元格,将跳转到http://localhost:18090/user/index界面
5.2 报表存储
上述工程启动完成后,在springboot-demo-master\src\main\webapp\WEB-INF下自动生成了一个ureportfiles文件夹,用于存放报表文件,这个目录一般是默认的,当然也可以支持修改, 此处以默认路径进行介绍,如果需要修改,请自行参考报表存储目录配置。
设计界面,点击保存图标,试保存一个报表文件,如下图所示:
5.3 自定义报表存储器
UReport2默认提供的名为“服务器文件系统”的报表存储机制,
可查看源码 com.bstek.ureport.provider.report.ReportProvider :源码, 实现了ReportProvider接口后,只需要将实现类配置到Spring中,让其成为一个标准的Spring Bean,这样UReport2就会检测到它而将其加载。ureport2支持自定义报表存储器, 通过实现ReportProvider接口 开发一个新的报表存储器将报表文件存储到数据库、FTP等。
5.4 数据源配置
数据源配置是ureport2中的重点模块,因为后续数据处理、计算、报表展示都是基于数据源中的数据集进行操作的。
ureport2支持 三种类型的报表数据源: 直接连接数据库,Spring Bean以及通过实现com.bstek.ureport.definition.datasource.BuildinDatasource接口提供的内置数据源。
1、直连数据源:比较简单
实现方式:
1)在工程pom文件中添加驱动依赖(当前是这种)
2)在WEB-INF下建立lib文件夹,将驱动jar文件放置在lib中;
3)界面点击
说明:此处数据作为示例,具体以用户当前存在的数据库为准。
数据源名称:test
连接用户名:qingqing
连接密码:qingqing
驱动名称:com.mysql.jdbc.Driver
连接URL:jdbc:mysql://localhost:3306/mysql?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false
2、Spring Bean数据源
可以选择Spring上下文中定义好的一个Bean来作为数据源 ,点击叶子 图标, 在弹出的窗口中输入数据源名称及要采用的Bean的ID (必须真实存在)即可,保存完成,即可基于当前数据源右键,添加数据集,输入 数据集名称、对应的方法名以及返回对象类型 ,具体可参考配置Spring Bean数据源
3、内置数据源:
这种类型的数据源,要示我们实现BuildinDatasource接口,同时将BuildinDatasource接口实现类配置到Spring即可;
1)BuildinDatasource源码:
package com.bstek.ureport.definition.datasource;
import java.sql.Connection;
/**
* @author Jacky.gao
* @since 2017年2月9日
*/
public interface BuildinDatasource {
/**
* @return 返回数据源名称
*/
String name();
/**
* @return 返回当前采用数据源的一个连接
*/
Connection getConnection();
}
2)BuildinDatasource接口实现类UreportDataSource:
package com.bstek.ureport.definition.datasource;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.bstek.ureport.definition.datasource.BuildinDatasource;
@Component
public class UreportDataSource implements BuildinDatasource {
private Logger log = LoggerFactory.getLogger(UreportDataSource.class);
private static final String NAME = "UreportDataSource";
@Autowired
private DataSource dataSource;
/**
* 数据源名称
*/
@Override
public String name() {
return NAME;
}
/**
* 获取连接
*/
@Override
public Connection getConnection() {
try {
return dataSource.getConnection();
} catch (SQLException e) {
log.error("Ureport数据源,获取连接失败!");
e.printStackTrace();
}
return null;
}
}
3)将实现类配置到spring(ureport-console-context.xml):
添加如下:
<bean id="ureport.UreportDataSource" class="com.bstek.ureport.definition.datasource.UreportDataSource"></bean>
4)报表 > 数据源界面,点击分享
图标,将出现UreportDataSource内置数据源,如下图所示:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)