JasperReports入门

一、Getting Started

            JasperReports的报表是用xml文件定义的,按照习惯这个xml文件以.jrxml作为扩展名,一个典型的jrxml文件包括下列元素:

1、<jasperReport>根元素
2、<title>它的内容只在报表开始时被打印一次
3、<pageHeader>它的内容在报表的每一页都被打印一次
4、<detail>报表的主体
5、<band>定义了一个报表区域,以上所有元素都包含一个
     band元素作为自己的子元素

二、除了根元素之外,所有的元素都是可选的
    
     下面是jrxml文件的一个简单的例子,它生成了一个简单的报表,这个报表仅仅打印出一个字符串"HelloWorld!"
 
  HelloWorld.jrxml
<?xml version="1.0"?>
<!DOCTYPE jasperReport
PUBLIC "-//JasperReports//DTD Report Design//EN"
"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
    <jasperReport name="HelloWorld">
        <detail>
            <band height="20">
                <staticText>
                    <reportElement x="180" y="0" width="200" height="20"/>
                        <text><![CDATA[Hello World!]]</text>
                </staticText>
            </band>
        </detail>
    </jasperReport>

    说明:在这个例子中我们省略了可选的其他元素,<staticText>元素描述了报告中的静态文本,正如所看到的一样它有一个唯一的子元素<text>,这个元素定义了要被显示的文本。

三、程序

package purerock.jasper;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.export.*;
import net.sf.jasperreports.engine.util.JRLoader;
import java.io.*;
public class FirstJasperReports {
    static String fileName="HelloWorld.jrxml";
    public static void main(String[] args)throws Exception{
        long startTime=System.currentTimeMillis();
        //将报表的定义文件HelloWorld.jrxml编译成HelloWorld.jasper文件
        String jasperFile=JasperCompileManager.compileReportToFile(fileName);
        //向HelloWorld.jasper文件中填充数据,这一步将生产出HelloWorld .jrprint文件
        String jrprintFile=JasperFillManager.fillReportToFile(jasperFile,null,new JREmptyDataSource());
        //将.jrprint文件转换成HTML格式
        JasperExportManager.exportReportToHtmlFile(jrprintFile);
        //将.jrprint文件转换成PDF格式
        JasperExportManager.exportReportToPdfFile(jrprintFile);
        //将.jrprint文件转换成XML格式
        JasperExportManager.exportReportToXmlFile(jrprintFile,false);
        //将.jrprint文件转换成XLS格式(即Excel文件),需要用到POI类库.
        File sourceFile = new File(jrprintFile);
        JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
        File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".xls");
        JRXlsExporter exporter = new JRXlsExporter();
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
        exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
        exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
        exporter.exportReport();
        long endTime=System.currentTimeMillis();
        long time=(endTime-startTime)/1000;
        System.out.println("success with "+time+" s");
     }
}

四、编译及运行程序所需要的类库

1、jasperreports-2.0.2.jar
2、commons-digester-1.7.jar
3、commons-collections-2.1.jar
4、commons-logging-1.0.2.jar
5、commons-beanutils-1.7.jar
6、itext-1.3.1.jar
7、poi-3.0.1-FINAL-20070705.jar

注、以上大多数jar文件都是apache开源组织的开源组件,我用的就是这些,版本号可以不一样。

五、运行程序可以看到JasperReports依据HelloWorld.jrxml文件自动为我们生成了各式各样的文件:html、pdf、xls、xml、jasper。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值