转自:http://www.blogjava.net/vjame/archive/2013/10/12/404908.html
一、创建简单的jrxml文件
这里可以手动创建jrxml文件,也可以使用ireport设计器创建 <?xml version="1.0"?> 2<!DOCTYPE jasperReport 3PUBLIC "-//JasperReports//DTD Report Design//EN" 4"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd"> 5<jasperReport name="FirstReport"> 6 <detail> 7 <band height="20"> 8 <staticText> 9 <reportElement x="20" y="0" width="200" height="20" />10 <text><![CDATA[If you see this, it work]]></text>11 </staticText>12 </band>13 </detail>14</jasperReport>
以上是一个简单的JRXML文件,实际上就是一个标准的XML文件,<jasperReport>是根元素,<staticText>表示静态的数据,<reportElement>定义了<staticText>的位置和宽度,<text>定义了实际的静态数据。二、把JRXML文件解析成jasper文件,文件流或JasperReport对象编译jrxml生成jasper文件
" WebRoot/report/lanjh.jasper");
" WebRoot/report/lanjh.jasper");
生成文件流public static void compileReportToStream(InputStream inputStream,OutputStream outputStream)生成报表对象public static JasperReport compileReport("WebRoot/report/jasperreports_demo.jrxml") 三、有了JasperReport对象,文件流或jasper文件之后,就可以用JasperFillManager生成JasperPrint对象,jrprint文件,jrprint文件流 生成JasperPrint 对象public static JasperPrint fillReport(JasperReport jasperReport,Map parameters, JRDataSource dataSource)四、使用JasperExportManager导出或显示JasperExportManager.exportReportToHtmlFile(jasperPrint, "c://1.html");JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf");完整的例子
JasperReport jasperReport; 2 JasperPrint jasperPrint; 3 try{ 4 jasperReport = JasperCompileManager.compileReport("WebRoot/report/jasperreports_demo.jrxml"); 5 jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(),new JREmptyDataSource()); 6 JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf"); 7 } 8 catch (JRException e){ 9 e.printStackTrace();10 }