JasperReport使用Collection of JavaBeans创建报表

  关于JasperReport在此不做过多讲述,其主要的开发工具有IReport和JasperSoft Studio两种工具,其中IReport最新版本为5.6(好像是这个版本),且不再进行新版本开发,并且最高只支持jdk1.7。而JasperSoft  Studio目前一直在更新升级。建议对JasperReport感兴趣的使用JasperReport进行尝试。话不多说,下面直接进入正题。

(工具下载地址:https://community.jaspersoft.com/,其安装比较简单,此处不做演示)

  •  创建JavaBean和工厂类

 JavaBean

public class User {

    private String name;

    private String sex;

    private Integer age;

    private String address;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

  工厂类

public class UserFactory {

    public static List<User> getInstance(){
        List<User> list = new ArrayList<>();
        for(int i=0;i<10;i++){
            User user = new User();
            user.setName("AA"+i);
            user.setAge(20+i);
            user.setSex("男");
            user.setAddress("address"+i);
            list.add(user);
        }
        return list;
    }
}

将JavaBean和工厂类打成JAR备用。

  • 创建Data Adapter

  打开安装好的JasperSoft Studio,默认会有一个创建好的Project,选中Project添加上一步的JAR(同Eclipse),切换到Repository Explorer,选中Data Adapters,右键点检“Create Data Adapter”,选中“Collection of JavaBeans”,点击Next,进行自定义Name,输入工厂类全类型和静态工厂方法。

 

  •  创建Jasper Report

  切换到Project Exporer,右键New,Jasper Report,选择纸张,Next,自定义文件名,数据源选择刚刚创建的,Finish。

 

 

   设置JavaBean,打开刚刚创建文件,点击下图中的按钮

 选择JavaBean属性

添加后的JavaBean属性会出现在Filed中

 

选中Filed下的属性拖入到Detail Brand,其他的Brand可以自行删减(右键delete)

点击报错,编译

 

预览

 

 预览支持多种模式

这样整个流程就完成了。JasperSoft Studio中还有很多配置项都需要自己摸索尝试,感兴趣的可以自行研究。此出本来只是打算介绍下使用Collection of JavaBeans作为数据源创建Jasper Report的,考虑的有些没接触过得,多说了一点。简单说就是要有JavaBean和含有返回JavaBean集合的静态工厂方法的工厂类。

原文地址:https://www.cnblogs.com/xiupan/p/13334986.html