Jasperreports使用总结

更新时间:2023-07-18 00:16:38 阅读: 评论:0

总结
本文主要是基于我在项目开发中,使用jasperreports+ireport制作报表的一个归纳,里面对一些问题的解决方法,都经本人使用验证过,可以作为参考。
1.制作报表
    制作报表所必须的jar包,如图:
儿童画秋天   
只阐述要点部分,细节请参考其他文档,网络上有很详细的说明,由于我在项目中使用的数据源大部分是JavaBean,所以以该数据源为例:
1.1使用JavaBean数据源制作简单报表
(1)写两个Java 类作为数据源
 a. DailySales.java 源代码,实体类
package st;
import java.io.Serializable;
public class DailySales implements Serializable {
private static final long rialVersionUID = 1L;
    private String productNo;
    private String productName;
    private int number;
    private int money;
    private int id;
沉重的反义词是什么.
.....
//省略了构造函数与getter tter 方法
   
b. DailySalesFactory.java 源代码,提供实体数组的工厂
package st;
import java.util.Arrays;
import java.util.Collection;
/**
 * 简单工厂类,取得测试数据
*/
public class DailySalesFactory {
    private static DailySales[] data = {
          new DailySales( " 货号 1" , " 物品1 " , 1,1000),
          new DailySales( " 货号 2" , " 物品 2" , 2,2000),
          new DailySales( " 货号 3" , " 物品 3" , 3,3000),
          new DailySales( " 货号 4" , " 物品 4" , 4,4000),
          new DailySales( " 货号 5" , " 物品 5" , 5,5000),
          new DailySales( " 货号 6" , " 物品 6" , 6,6000),
          new DailySales( " 货号 7" , " 物品 7" , 7,7000),
          new DailySales( " 货号 8" , " 物品 8" , 8,8000),
          new DailySales( " 货号 9" , " 物品 9" , 9,9000),
          new DailySales( " 货号 10" , " 物品 10" , 10,10000)
    };
    public static Object[] getBeanArray() {
      return data;
    }
      //必须是静态的,返回必须是数组
    public static Collection<DailySales> getBeanCollection() {
      return Arrays.asList(data);
    }
}
(2)把以上两个class 打成 jar 包,放入 iReport 安装目录下 lib文件夹(最好是手动将该jar包载入ireport,该jar包只在制作模板时供测试用)
(3)启动iReport,制作模板
a.填写数据源属性
为数据源填写一个名称:TestJavaBean,工厂类:st.DailySalesFactory,静态工厂方法: getBeanCollection
填写完整后,可测试一下是否可以连接。若无问题,保存即可。
接着会出现以下窗口:
漂四声组词      JavaBean class 填写 具有getter tter 方法的类:
    st.DailySales
b.需要填充的字段
选择JavaBean里面所有可用的字段,添加到右面窗口。
…………………..
(4)将模板文件拷入web项目中(.jasper结尾),书写导出报表的代码   
1.2使用JavaBean数据源制作子报表
(1)创建相关的Bean类(两个bean类要有父子关系)
package com.hs.bean;
import java.util.ArrayList;
public class ProvinceBean {
    private String provinceName;
    private ArrayList<CityBean> cities;
    ………………………………………
}
package com.hs.bean;
public class CityBean {
    private String cityName我的父亲母亲作文;
    ………………………………………………..
}
(2)创建工厂类,添加测试数据
直拍和横拍的区别package com.hs.bean;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
public class ProvinceBeanFactory {
//该测试类只要有一个返回Collection的静态方法就可以   
public static Collection<ProvinceBean> getBeanCollection() {
ArrayList<ProvinceBean> provinces = new ArrayList<ProvinceBean>();
    ProvinceBean province = new ProvinceBean();
province.tProvinceName("山东"集成是什么意思);
           
    ArrayList<CityBean> cities = new ArrayList<CityBean>();碟仙诡谭2
    CityBean city = new CityBean();
    city.tCityName("济南");
    cities.add(city);
    city = new CityBean();
    city.tCityName("青岛");
    cities.add(city);
    city = new CityBean();
    city.tCityName("潍坊");
    cities.add(city);
           
    province.tCities(cities);
    provinces.add(province);
    province = new ProvinceBean();
    province.tProvinceName("江苏");
    cities = new ArrayList<CityBean>();
    city = new CityBean();
    city.tCityName("南京");
    cities.add(city);
    city = new CityBean();
    city.tCityName("无锡");
    cities.add(city);
    city = new CityBean();
    city.tCityName("苏州");
    cities.add(city);
    province.tCities(cities);
    provinces.add(province);
    return provinces;
    }
}
(3)制作模板

本文发布于:2023-07-18 00:16:38,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1085665.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:工厂   数据源   制作   报表   添加   模板   问题   数组
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图