- 浏览: 154803 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
wcnmbbbb:
com.lowagie.text 对应的包呢?
根据数据库注释自动生成数据库文档【支持Oracle和Mysql】 -
greatwqs:
序列化算法这篇不错 : http://greatwqs.ite ...
Java IO 中对象的序列化操作 -
litao11046:
为什么使用get的时候要把具体的方法名加入hidden作为隐藏 ...
Struts DispatchAction基本的请求分发
本文只涉及到简单的动态数据传递
首先使用ireport创建模板
关于 变量 $p{}格式的,是parameter类型的,可以通过Map传递给JasperReport
Field 可以设置一些可以动态从数据库获取的数据,但是这种类型需要传递给一JasperReport一个Connection类型的对象
关于JasperReport的几种文件格式 jrxml是资源文件 其实就是一个xml文件,使用ireport编辑的就是这种文件
jasperReport可以根据jrxml文件编译生成jasper文件,应该就是一种字节码文件
jasper文件就是一种模板,是没有数据的,把数据交给jasper文件之后还可以生成一种jprint文件
通过jprint可以利用JasperReport生成各种格式的输出,如pdf excel html xml
代码:
纯静态的一个:
public static void main(String[] args) throws Exception{ String filename = "src/jasper/report/test/hello.jrxml"; long startTime = System.currentTimeMillis(); //编译源文件 String jasperfile = JasperCompileManager.compileReportToFile(filename); //填充数据,这里填充的是空数据 String jrprintfile = JasperFillManager.fillReportToFile(jasperfile,null,new JREmptyDataSource()); //输出html文件 JasperExportManager.exportReportToHtmlFile(jrprintfile); //输入pdf文件,需要itext类库 JasperExportManager.exportReportToPdfFile(jrprintfile); //输出xml文件,扩展名是jrpxml JasperExportManager.exportReportToXmlFile(jrprintfile,false); //下面的代码是输出excel文件的 File sourceFile = new File(jrprintfile); System.out.println(sourceFile.getAbsolutePath()); JasperPrint printer = (JasperPrint) JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(),printer.getName()+".xls"); JRXlsExporter exporter = new JRXlsExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, printer); exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,destFile.toString()); exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,true); exporter.exportReport(); long endTime = System.currentTimeMillis(); long time = (endTime-startTime); System.out.println("done in " + time + " ms ..."); }
动态传递数据的:
jrxml文件 2002.jrxml
<?xml version="1.0" encoding="UTF-8"?> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="2002" pageWidth="835" pageHeight="842" columnWidth="795" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"> <parameter name="startTime" class="java.lang.String"/> <parameter name="endTime" class="java.lang.String"/> <parameter name="titleName" class="java.lang.String"/> <background> <band/> </background> <title> <band height="476"> <staticText> <reportElement x="568" y="33" width="75" height="20"/> <textElement textAlignment="Center" verticalAlignment="Middle"> <font fontName="宋体" size="12" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H"/> </textElement> <text><![CDATA[结束时间:]]></text> </staticText> <textField isBlankWhenNull="true"> <reportElement x="643" y="33" width="150" height="20"/> <textElement textAlignment="Center" verticalAlignment="Middle"> <font fontName="宋体" size="12" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H"/> </textElement> <textFieldExpression class="java.lang.String"><![CDATA[$P{endTime}]]></textFieldExpression> </textField> <staticText> <reportElement x="0" y="33" width="75" height="20"/> <textElement textAlignment="Center" verticalAlignment="Middle"> <font fontName="宋体" size="12" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H"/> </textElement> <text><![CDATA[开始时间:]]></text> </staticText> <textField isBlankWhenNull="true"> <reportElement x="75" y="33" width="150" height="20"/> <textElement textAlignment="Center" verticalAlignment="Middle"> <font fontName="宋体" size="12" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H"/> </textElement> <textFieldExpression class="java.lang.String"><![CDATA[$P{startTime}]]></textFieldExpression> </textField> <line> <reportElement x="140" y="59" width="653" height="1"/> </line> <staticText> <reportElement x="40" y="53" width="100" height="20"/> <textElement textAlignment="Center" verticalAlignment="Middle"> <font fontName="宋体" size="12" isBold="true" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H"/> </textElement> <text><![CDATA[图表]]></text> </staticText> <line> <reportElement x="0" y="60" width="40" height="1"/> </line> <textField isStretchWithOverflow="true" isBlankWhenNull="true"> <reportElement x="0" y="0" width="795" height="33"/> <textElement textAlignment="Center" verticalAlignment="Middle"> <font fontName="宋体" size="14" isBold="true" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H"/> </textElement> <textFieldExpression class="java.lang.String"><![CDATA[$P{titleName}]]></textFieldExpression> </textField> </band> </title> <pageHeader> <band/> </pageHeader> <columnHeader> <band/> </columnHeader> <detail> <band/> </detail> <columnFooter> <band/> </columnFooter> <pageFooter> <band/> </pageFooter> <summary> <band/> </summary> </jasperReport>
Java程序:
package jasper.report.test; import java.io.File; import java.util.Date; import java.util.HashMap; import java.util.Map; import net.sf.jasperreports.engine.JRDataSource; import net.sf.jasperreports.engine.JREmptyDataSource; import net.sf.jasperreports.engine.JRExporterParameter; import net.sf.jasperreports.engine.JasperCompileManager; import net.sf.jasperreports.engine.JasperExportManager; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.export.JRXlsExporter; import net.sf.jasperreports.engine.export.JRXlsExporterParameter; import net.sf.jasperreports.engine.util.JRLoader; public class TestUseDynamicParameter { public static void main(String[] args) throws Exception{ final String conf = "src/jasper/report/test/2002.jrxml"; /////////////////////////////////////// Map<String,String> map = new HashMap<String,String>(); map.put("endTime", new Date().toString()); map.put("startTime", new Date().toString()); map.put("titleName", "thisisthetitlename"); /////////////////////////////////////// long startTime = System.currentTimeMillis(); //编译源文件 String jasperfile = JasperCompileManager.compileReportToFile(conf); //填充数据,这里填充的是空数据 String jrprintfile = JasperFillManager.fillReportToFile(jasperfile, map,new JREmptyDataSource()); //输出html文件 JasperExportManager.exportReportToHtmlFile(jrprintfile); //输入pdf文件,需要itext类库 JasperExportManager.exportReportToPdfFile(jrprintfile); //输出xml文件,扩展名是jrpxml JasperExportManager.exportReportToXmlFile(jrprintfile,false); // //下面的代码是输出excel文件的 File sourceFile = new File(jrprintfile); System.out.println(sourceFile.getAbsolutePath()); JasperPrint printer = (JasperPrint) JRLoader.loadObject(sourceFile); File destFile = new File(sourceFile.getParent(),printer.getName()+".xls"); JRXlsExporter exporter = new JRXlsExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, printer); exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,destFile.toString()); exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,true); exporter.exportReport(); long endTime = System.currentTimeMillis(); long time = (endTime-startTime); System.out.println("done in " + time + " ms ..."); } }
发表评论
-
使用Maven构建一个开源项目的代码结构
2017-01-18 12:29 924本文仅适合maven初学者,适合那些像我一样平时不使用mav ... -
Java Des算法实现高速文件加密解密
2016-06-01 15:09 1649import java.io.FileInputStream ... -
Java比较两个数据库中所有表的区别【支持Oracle和SQLServer】
2014-12-09 14:37 4962开发过程中一般是一开发数据库 一生产数据库。 有时候在开发 ... -
根据数据库注释自动生成数据库文档【支持Oracle和Mysql】
2014-11-28 11:02 4105公司项目比较乱,很多时候都是需要先完成项目再准备文档。 数 ... -
根据SVN日志自动生成补丁包[基于Tomcat的JavaEE项目]
2014-11-25 10:08 2325项目开发过程中代码变化很频繁,需要更新文件时,每次都需要手 ... -
用批处理文件为JavaSE项目快速简单的的加载jar包
2014-02-22 10:39 619JavaSE小项目,有时候需要引入很多jar包,但是手动去修 ... -
java中WebService的HelloWorld
2011-11-14 07:24 1633WebService的HelloWorld 首先,在MyEc ... -
Swing中的JOptionPane类
2011-11-14 07:24 1727Swing中的JOptionPane类详解JOptionPan ... -
java输出PDF文档
2011-11-14 07:24 2663PDF输出用到iText包,由于PDF文档的特殊性,有可能需要 ... -
Java生成图片验证码
2011-11-14 07:24 2805Java生成图片验证码部分代码参考自网易博客白云城主的大作制作 ... -
java生成缩略图
2011-11-11 20:12 1055公司一些项目中经常把用户上传的原图用IMG标签改变尺寸后直接在 ... -
java读取和输出Excel
2011-11-11 20:11 1238Excel读取和输入要用到JXL包 输出Excel的代码示例 ... -
ApacheClient模拟浏览器GET和POST请求
2011-11-11 20:04 2046ApacheClient简介HttpClient ... -
Java IO 中对象的序列化操作
2011-06-12 16:54 1113Java IO 中对象的序列化 ... -
使用Java 发送电子邮件
2010-08-04 22:33 1706一个采用sun的类库的java发送邮件的demo 因为使用的 ... -
Java的远程方法调用 RMI 的 HelloWorld 程序
2010-07-29 16:11 1859本文大部分内容来自 http://www.jspcn.net/ ... -
设计模式 之 工厂模式
2010-07-28 21:45 1568常用设计模式之 工厂模 ... -
设计模式 之 单例模式
2010-07-28 21:44 1531单例模式:设计中有时候需要使某个对象在整个系统中只存在一个 ... -
使用递归和dom遍历dom树形结构
2010-07-28 21:39 2566使用递归逆推出xml文件的大体结构 package com. ... -
使用jdom解析xml文件
2010-07-28 21:38 1572使用jdom解析xml package com.dowebb ...
相关推荐
iReport 和 Jasperreport整合开发web报表向导2
iReport 和 Jasperreport整合开发web报表.rar
iReport 和 Jasperreport整合开发web报表向
iReport 和 Jasperreport整合开发web报表向导
CSDN技术中心 iReport 和 Jasperreport整合开发web报表向导.pdf
iReport和Jasperreport整合开发web报表向导.pdf
使用ireport和struts2进行报表设计的简单示例,生成普通报表和饼图、柱状图。java工程的lib里包含丰富的jar包,且很多都是从各个网站下载的最新版本,文件夹内还包含一些ireport和jasperreport文档,适合刚入门学习...
iReport 和 Jasperreport整合开发web报表向3.doc
iReport-JasperReport 报表开发指南,PDF格式,里面带有图文,入门性质的教程
iReport+JasperReport柱状图 iReport+JasperReport柱状图 iReport+JasperReport柱状图
原创:iReport&JasperReport开发手记(一) List报表开发与发布 b/s下,List报表开发与发布
NULL 博文链接:https://hfj-cxy.iteye.com/blog/970744
在文档中基本将工作中使用IReport和JasperReport开发报表时碰到的问题以及解决方法都予以给出. (看了就知道值)
该工程下有ssh所需jar包,hicharts报表导出功能所需jar包,以及Jasperreport报表导出所需的jar包,主要是利用Jasperreport实现报表导出功能,可以完整跑通
iReport+JasperReport教材两本以及demo
4.1. JasperReport 和iReport的介绍... 2 4.1.1. JasperReport 简介... 3 4.1.2. iReport 简介... 3 4.1.2.1. iReport几个重要的概念... 3 4.1.2.2. iReport数据库连接的建立 DataSource. 5 4.2. 创建报表(以几个...
如何使用IReport制作JasperReport报表, 包含三份: 1.jasperreportireport中文指南.pdf 2.JasperReports结合iReport制作报表教程.pdf 3.the_definitive_guide_to_ireport.7759101961.pdf.
iReport-5.6.0 Jasperreport