欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ureport2 ---报表设计(1)

程序员文章站 2022-04-30 20:38:36
...

一、概述:

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,网页打开看到表格和其他东西,就为正常

三、数据源

Ureport2 ---报表设计(1)

1、直接连接数据库

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

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

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)
第二步
Ureport2 ---报表设计(1)
第三步 右键数据集 刷新,如果选择的方法是 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)

3.3 如同1.2、

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

参考:

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

相关标签: 报表