- 浏览: 158619 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
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 960本文仅适合maven初学者,适合那些像我一样平时不使用mav ... -
Java Des算法实现高速文件加密解密
2016-06-01 15:09 1717import java.io.FileInputStream ... -
Java比较两个数据库中所有表的区别【支持Oracle和SQLServer】
2014-12-09 14:37 5011开发过程中一般是一开发数据库 一生产数据库。 有时候在开发 ... -
根据数据库注释自动生成数据库文档【支持Oracle和Mysql】
2014-11-28 11:02 4161公司项目比较乱,很多时候都是需要先完成项目再准备文档。 数 ... -
根据SVN日志自动生成补丁包[基于Tomcat的JavaEE项目]
2014-11-25 10:08 2402项目开发过程中代码变化很频繁,需要更新文件时,每次都需要手 ... -
用批处理文件为JavaSE项目快速简单的的加载jar包
2014-02-22 10:39 678JavaSE小项目,有时候需要引入很多jar包,但是手动去修 ... -
java中WebService的HelloWorld
2011-11-14 07:24 1687WebService的HelloWorld 首先,在MyEc ... -
Swing中的JOptionPane类
2011-11-14 07:24 1807Swing中的JOptionPane类详解JOptionPan ... -
java输出PDF文档
2011-11-14 07:24 2746PDF输出用到iText包,由于PDF文档的特殊性,有可能需要 ... -
Java生成图片验证码
2011-11-14 07:24 2833Java生成图片验证码部分代码参考自网易博客白云城主的大作制作 ... -
java生成缩略图
2011-11-11 20:12 1090公司一些项目中经常把用户上传的原图用IMG标签改变尺寸后直接在 ... -
java读取和输出Excel
2011-11-11 20:11 1301Excel读取和输入要用到JXL包 输出Excel的代码示例 ... -
ApacheClient模拟浏览器GET和POST请求
2011-11-11 20:04 2114ApacheClient简介HttpClient ... -
Java IO 中对象的序列化操作
2011-06-12 16:54 1166Java IO 中对象的序列化 ... -
使用Java 发送电子邮件
2010-08-04 22:33 1770一个采用sun的类库的java发送邮件的demo 因为使用的 ... -
Java的远程方法调用 RMI 的 HelloWorld 程序
2010-07-29 16:11 1896本文大部分内容来自 http://www.jspcn.net/ ... -
设计模式 之 工厂模式
2010-07-28 21:45 1614常用设计模式之 工厂模 ... -
设计模式 之 单例模式
2010-07-28 21:44 1564单例模式:设计中有时候需要使某个对象在整个系统中只存在一个 ... -
使用递归和dom遍历dom树形结构
2010-07-28 21:39 2608使用递归逆推出xml文件的大体结构 package com. ... -
使用jdom解析xml文件
2010-07-28 21:38 1612使用jdom解析xml package com.dowebb ...
相关推荐
iReport 提供了 "Element properties" 和 "Element browser" 功能,用于查看和编辑报表中所有元素的属性,便于精细控制报表的外观和行为。 10. **Bands 和 Report Groups**: Bands 是报表的各个部分,如页面头部...
作者分享了自己的实践经验,遇到的困难和解决方法,旨在帮助读者更好地理解和掌握iReport和JasperReport的使用。 一、确定数据源类型 在开发柱状图时,首先需要确定数据源类型。作者选择了JRDataSourceProvider...
在IT领域,报告生成是数据分析和业务处理的重要环节,而iReport和JasperReport正是在这方面发挥重要作用的工具。本文将深入探讨这两个工具的使用和概念,帮助读者理解它们的功能、特点以及如何在实际项目中应用。 *...
结合提供的文档资源"iReport 和 Jasperreport整合开发web报表向导1.doc"、"iReport 和 Jasperreport整合开发web报表向导2.doc"以及"iReport 和 Jasperreport整合开发web报表向导3.doc",你将能更深入地了解这一过程...
随着技术的发展,各种报表生成工具应运而生,其中iReport与JasperReport因其功能强大、易于集成的特点,在Java Web开发领域占据了重要位置。本文将详细介绍如何利用iReport和JasperReport进行Web报表的开发,并分享...
iReport 是一个基于GUI的报表设计工具,它专门用于设计Jasperreport的模板,而Jasperreport则是一个强大的报表引擎,能够处理各种复杂的报表逻辑并生成多种格式的报表输出,如PDF、HTML、XML、XLS和CSV等。...
1. JasperReport API:学习如何创建和填充jasperReport模板,理解JRDesign对象和JRFillDataset的概念,它们是报表生成的核心。 2. 动态表头:通过使用Group和HeaderFooter元素,可以实现根据数据变化的表头,提供更...
《iReport-JasperReport 报表开发指南》是一本针对初学者的专业教程,旨在帮助读者掌握使用iReport和JasperReport进行报表开发的核心技术。iReport是一款强大的设计工具,而JasperReport则是一个流行的Java报表库,...
Struts2、iReport与JasperReport是Java开发中用于构建高效、动态Web应用程序和报表生成的工具。在这个项目中,这些技术结合在一起,提供了一种强大的报表导出解决方案。以下是对这些关键技术及其在项目中的应用的...
【ireport和jasperreport简介...总结来说,ireport和jasperreport提供了一套完整的报表设计和展示解决方案,适用于各种Java Web应用中,通过简单的配置和代码调用,即可实现动态生成和展示报表,极大地提高了开发效率。
六、报表生成 在iReport中,用户可以生成报表,包括静态报表和动态报表。静态报表不需要数据库连接,而动态报表需要连接数据库。用户可以点击左边的按钮生成静态报表,或者点击右边的按钮生成动态报表。 七、报表...
《ireport+jasperreport联合开发Java报表》是针对Java开发者的一款强大的报表生成工具,它能够帮助程序员高效地创建、设计和导出各种复杂的业务报表,尤其是PDF格式的报表。本资料详细介绍了如何利用ireport和...
iReport和JasperReport是两个在Java开发领域中广泛使用的报表工具,主要用于设计和生成复杂的业务报告。这两个工具是开源的,因此深受开发者喜爱。在本资料包中,你将获得两本关于iReport和JasperReport的教材,以及...
`iReport`和`JasperReport`是两个在Java领域广泛使用的开源报表工具,它们在Web应用程序中尤其常见。本资料包"iReport 和 Jasperreport整合开发web报表.rar"提供了一个关于如何将两者整合到Web项目中的教程或示例。 ...
使用ireport和struts2进行报表设计的简单示例,生成普通报表和饼图、柱状图。java工程的lib里包含丰富的jar包,且很多都是从各个网站下载的最新版本,文件夹内还包含一些ireport和jasperreport文档,适合刚入门学习...
- **JasperReport 3.7.3**:报表生成库。 2. **引入必要的JAR包**:在 MyEclipse 的项目属性中,将 JasperReport dist 文件夹下的所有 JAR 包添加到 Java Build Path 中。此外,还需引入以下外部依赖: - **...
由于其灵活性和可定制性,它们也适合在任何需要自定义报表生成的场景中使用。 **总结:** 这个压缩包提供了iReport 5.6.0版本和JasperReport的相关jar文件,以及一份使用说明,是Java开发者创建和管理报表的强大...
总结来说,iReport和JasperReport结合使用,提供了强大的报表设计和生成能力,涵盖了从数据库连接、查询设计、样式定制到最终报表的集成。用户可以根据需求灵活设计复杂报表,并将其无缝地融入到各种应用程序中。
- **运行代码**:运行 Java 应用程序,检查报表生成情况。 - **调试问题**:根据运行结果调整代码或报表模板。 **5. 完成** - **最终输出**:完成报表的设计与生成工作。 #### 五、报表组件详解 - **Title (报表...