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>ureportServletservlet-name>
        <servlet-class>com.bstek.ureport.console.UReportServletservlet-class>
    servlet>
    <servlet-mapping>
        <servlet-name>ureportServletservlet-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,网页打开看到表格和其他东西,就为正常

三、数据源

Ureport2 ---报表设计(1)_第1张图片

1、直接连接数据库

1.1、点击第一个进入下图界面,依次数据库配置参数
Ureport2 ---报表设计(1)_第2张图片

1.2、保存结果。右键数据源,选择添加数据集进入 如下图
Ureport2 ---报表设计(1)_第3张图片

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 添加数据源
第一步
Ureport2 ---报表设计(1)_第4张图片
第二步
Ureport2 ---报表设计(1)_第5张图片
第三步 右键数据集 刷新,如果选择的方法是 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、点击第三个图标 选择 数据源 进入下图 ,选择方法,和返回对象
Ureport2 ---报表设计(1)_第6张图片

3.3 如同1.2、

下一篇 报表:Ureport2 —报表设计(2)–报表计算模型

参考:

1、report 资料库 http://wiki.bsdn.org/pages/viewpage.action?pageId=76448364

你可能感兴趣的:(dorado)