一个简单的iReport + jasperReports例子

用iReport and jasperReports 生成一个简单的report.

   对于初学的人来说,做一个ireport不是很容易的事情,但现在很少有比较简单的例子。我在这里就举例一个简单的,一个教你上手的ireport例子。 网上很多例子都是和WEB 或者 database相关的,没有一个独立的例子,对于刚学的人,那不算是个好事情。那我就来填补这个空白,我做的这个例子,只有ireport和javaBean 实现,所以省去了很多东西,但对于刚接触的人来说,是件好事情,只需要关心ireport,不用去做很多的无用的事情。当学会了ireport的时候,再去做相关的也不迟。

     新建一个报表:取名 teach1



 

建成后,我们可以看到: ireport模板分为几块: title,pageHeader,columnHeader,detail,columnFooter,pageFooter

lastPageFooter,summary. 每个模块的都能从名字看出来它的作用。title是放标题的,pageHeader是每页的头,columnHeader 是每列的开头,detail是细节的意思,打个比方哈,比如我要显示一个list,那么我们的数据就应该放在detail里面。columnFooter ,pageFooter,LastPageFooter我都不说了,和对于的Header差不多。 summary就是放在最后面的,就和我们接报告的总结部分,闲话不多说了,我们进入正题。



 

如图:我建了一个title,表头和数据的列,这个例子我只用了3列,分别是 No.,name,age.先在左边添加3 个field,让后拖到模块里面去。还有属性,可以点右键,具体的就自己去摸索了,很简单。

 这样,我们这个例子的ireport的模板就做好了。

让后我写了一个java Class 和一个 javaBean.

package test.com.******.operator.taxi.service;

publicclass TestIreport {

    publicstaticvoid main(String args[]){

         JasperPrint print = null;

         try {

           InputStream is = new FileInputStream("/home/developer/apps/iReport-2.0.0/teach1.jasper");

           JasperReport jasperReport = (JasperReport) JRLoader.loadObject(is);

           HashMap<String, Object> parameters1 = new HashMap<String, Object>();

          List<TestJavaBean> list = new ArrayList<TestJavaBean>();

           for(int i = 0; i < 10; i++){

               TestJavaBean bean = new TestJavaBean();

               bean.setNo(""+i);bean.setName("test"+i);bean.setAge(i+18);

               list.add(bean);

           }

//        chatListsub.add(chat10); chatListsub.add(chat11); chatListsub.add(chat12);   chatListsub.add(chats1);

//         chatListsub.add(chat20); chatListsub.add(chat21); chatListsub.add(chat22); chatListsub.add(chats2);

           parameters1.put("SUBREPORT_DIR", "/home/developer/apps/iReport-2.0.0/");

           //parameters1.put("MyDatasource", new JRBeanCollectionDataSource(chatListsub));

           print = JasperFillManager.fillReport(jasperReport, parameters1,

                   new JRBeanCollectionDataSource(list));

           JasperViewer.viewReport(print, false);

         } catch (Exception ex) {

           ex.printStackTrace();

         }

         }

}

package test.com.***.operator.taxi.service;

publicclass TestJavaBean {

    private String No;

    private String name;

    privateintage;

    public String getNo() {

        returnNo;

    }

    publicvoid setNo(String no) {

        No = no;

    }

    public String getName() {

        returnname;

    }

    publicvoid setName(String name) {

        this.name = name;

    }

    publicint getAge() {

        returnage;

    }

    publicvoid setAge(int age) {

        this.age = age;

    }

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值