Ureport2 ---报表设计(1)
一、概述:
UReport2是一款基于架构在Spring之上纯Java的高性能报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。相比UReport1,UReport2重写了全部代码,弥补了UReport1在功能及性能上的各种不足。
在UReport2中,提供了全新的基于网页的报表设计器,可以在Chrome、Firefox、Edge等各种主流浏览器运行(IE浏览器除外)。使用UReport2,打开浏览器即可完成各种复杂报表的设计制作。
二、安装和配置
1)基于maven 配置
见 http://wiki.bsdn.org/pages/viewpage.action?pageId=76448360
2)基于传统JavaEE 配置
第一步:必须jar文件:
1、第三方jar
2、ureport2-core、ureport2-font及ureport2-console 三个jar包
第二步:配置文件
1、如果没有使用spring,先配置spring
2、在web.xml里面添加网址映射,如果不加,网址将会打不开
<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>
3、在context.xml 文件加入,spring能够加载ureport jar包
<import resource="classpath:ureport-console-context.xml" />
4、测试:
1、启动时候,控制台看到ureport2 的字样
2、http://localhost:8080/“项目的名称”/ureport/designer,网页打开看到表格和其他东西,就为正常
三、数据源
1、直接连接数据库
1.1、点击第一个进入下图界面,依次数据库配置参数
1.2、保存结果。右键数据源,选择添加数据集进入 如下图
1.3、选择数据集,右键刷新
2、添加数据集
2.2、Spring Bean
2.2.1、建立相关类:
例如:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.lang.math.RandomUtils;
public class TestBean {
public List<Map<String,Object>> loadReportData(String dsName,String datasetName,Map<String,Object> parameters){
List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
for(int i=0;i<10000;i++){
Map<String,Object> m=new HashMap<String,Object> ();
m.put("id", i);
m.put("name",RandomStringUtils.random(10,true,false));
m.put("salray",RandomUtils.nextInt(10000)+i );
list.add(m);
}
return list;
}
//User.java 类就不在此处描述了
public List<User> builderReport(String dsName,String datasetName,Map<String,Object> parameters){
List<User> list=new ArrayList<User>();
for(int i=0;i<10000;i++){
User m=new User ();
m.setId( i);
m.setName(RandomStringUtils.random(10,true,false));
m.setSalary(RandomUtils.nextInt(10000)+i );
list.add(m);
}
return list;
}
}
在bean里面配置(一般是context.xml文件)
<!--* 要改为实际类所在的包名-->
<bean id="testBean" class="*.TestBean"></bean>
2.2.2 添加数据源
第一步
第二步
第三步 右键数据集 刷新,如果选择的方法是 load那个,返回对象为空。手动添加字段
3、内置数据源
3.1、建立基础BuildinDataSource的类
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.bstek.ureport.definition.datasource.BuildinDatasource;
public class TestBuildDatasource implements BuildinDatasource {
private DataSource dataSource;
@Override
public Connection getConnection() {
try {
return dataSource.getConnection();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
@Override
public String name() {
return "内置数据源";
}
//这个是setter注入函数 setDataSource 注意大小写 以及拼写
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
}
在bean里面配置(一般是context.xml文件)
<!--* 要改为实际类所在的包名-->
<bean id="testBuildDatasource" class="*.TestBuildDatasource">
<property name="dataSource" ref="dataSource" />
</bean>
3.2、点击第三个图标 选择 数据源 进入下图 ,选择方法,和返回对象
3.3 如同1.2、
下一篇 报表:Ureport2 —报表设计(2)–报表计算模型
参考:
1、report 资料库 http://wiki.bsdn.org/pages/viewpage.action?pageId=76448364