- 浏览: 398956 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
iris_1992:
2005年以前,国外开原报表完全碾压国产软件,但是现在国内软件 ...
JasperReport报表设计总结(一)(已完毕) -
水土第一:
在flash显示jasperprintlist的时候,根据下面 ...
JasperReport报表设计总结(三)(已完毕) -
水土第一:
结构分的很清晰。。。加上applet与jasper的东西就更完 ...
JasperReport报表设计总结(三)(已完毕) -
水土第一:
<div class="quote_title ...
JasperReport报表设计总结(二)(已完毕) -
zwj1533:
下载的附件服务解压!
JasperReport报表设计总结(一)(已完毕)
由于在一个里面不能贴太多的代码,故放置代码在此处。
上接:http://jimmy-shine.iteye.com/blog/78678
下接:http://jimmy-shine.iteye.com/blog/123597
Excel格式的:
第一篇有的。。。。
上接:http://jimmy-shine.iteye.com/blog/78678
下接:http://jimmy-shine.iteye.com/blog/123597
java 代码
- /**
- * @copyRight Beijing Tsing-Tech Reachway Software Co.,Ltd.
- * @author Jimmy.Shine 2007-5-12
- */
- package cn.com.reachway.framework.report.export;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.sql.Connection;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import net.sf.jasperreports.engine.JRDataSource;
- import net.sf.jasperreports.engine.JRExporterParameter;
- import net.sf.jasperreports.engine.JasperPrint;
- import net.sf.jasperreports.engine.export.JRHtmlExporter;
- import net.sf.jasperreports.engine.export.JRHtmlExporterParameter;
- import net.sf.jasperreports.j2ee.servlets.ImageServlet;
- import cn.com.reachway.framework.exception.JasperReportException;
- import cn.com.reachway.framework.report.jasperPrint.JasperPrintWithConnection;
- import cn.com.reachway.framework.report.jasperPrint.JasperPrintWithDataSource;
- /**
- * 利用报表生成HTML格式报表
- */
- public class HTMLExport {
- /**
- * 导出报表
- *
- * @param request
- * @param response
- * @param reportFilePath
- * @param params
- * @param con
- * @throws JasperReportException
- */
- public void export(HttpServletRequest request, HttpServletResponse response, String reportFilePath, Map params,
- Connection con) throws JasperReportException {
- try {
- PrintWriter out = response.getWriter();
- try {
- response.setContentType("text/html;charset=UTF-8");
- JasperPrint jasperPrint = new JasperPrintWithConnection(reportFilePath, params, con).getJasperPrint();
- // 使用JRHtmlExproter导出Html格式
- JRHtmlExporter exporter = new JRHtmlExporter();
- request.getSession().setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);
- exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
- exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
- exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "./servlets/image?image=");
- exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8");
- // 导出
- exporter.exportReport();
- } catch (Exception e) {
- e.printStackTrace();
- throw new JasperReportException("在导出Html格式报表时发生错误!");
- } finally {
- if (out != null) {
- try {
- out.close();
- } catch (Exception e) {
- }
- }
- }
- } catch (IOException ioe) {
- ioe.printStackTrace();
- throw new JasperReportException("从Response中取得PrintWriter时发生错误!");
- }
- }
- /**
- * 导出报表
- *
- * @param request
- * @param response
- * @param reportFilePath
- * @param params
- * @param dataSource
- * @throws JasperReportException
- */
- public void export(HttpServletRequest request, HttpServletResponse response, String reportFilePath, Map params,
- JRDataSource dataSource) throws JasperReportException {
- try {
- PrintWriter out = response.getWriter();
- try {
- response.setContentType("text/html;charset=UTF-8");
- JasperPrint jasperPrint = new JasperPrintWithDataSource(reportFilePath, params, dataSource)
- .getJasperPrint();
- // 使用JRHtmlExproter导出Html格式
- JRHtmlExporter exporter = new JRHtmlExporter();
- request.getSession().setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);
- exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
- exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
- exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "./servlets/image?image=");
- exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8");
- // 导出
- exporter.exportReport();
- } catch (Exception e) {
- e.printStackTrace();
- throw new JasperReportException("在导出Html格式报表时发生错误!");
- } finally {
- if (out != null) {
- try {
- out.close();
- } catch (Exception e) {
- }
- }
- }
- } catch (IOException ioe) {
- ioe.printStackTrace();
- throw new JasperReportException("从Response中取得PrintWriter时发生错误!");
- }
- }
- }
java 代码
- /**
- * @copyRight Beijing Tsing-Tech Reachway Software Co.,Ltd.
- * @author Jimmy.Shine 2007-5-13
- */
- package cn.com.reachway.framework.report.export;
- import java.io.IOException;
- import java.io.OutputStream;
- import java.net.URLEncoder;
- import java.sql.Connection;
- import java.util.List;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import net.sf.jasperreports.engine.JRDataSource;
- import net.sf.jasperreports.engine.JRException;
- import net.sf.jasperreports.engine.JRExporterParameter;
- import net.sf.jasperreports.engine.JasperPrint;
- import net.sf.jasperreports.engine.export.JRXlsAbstractExporter;
- import net.sf.jasperreports.engine.export.JRXlsAbstractExporterParameter;
- import net.sf.jasperreports.j2ee.servlets.BaseHttpServlet;
- import cn.com.reachway.framework.exception.JasperReportException;
- import cn.com.reachway.framework.report.jasperPrint.JasperPrintWithConnection;
- import cn.com.reachway.framework.report.jasperPrint.JasperPrintWithDataSource;
- /**
- * 利用报表生成Xls的基类
- */
- public abstract class BaseExcelExport {
- /**
- * 导出报表
- *
- * @param request
- * @param response
- * @param reportFilePath
- * @param params
- * @param con
- * @param fileName
- * @throws JasperReportException
- */
- public void export(HttpServletRequest request, HttpServletResponse response, String reportFilePath, Map params,
- Connection con, String fileName) throws JasperReportException {
- JasperPrint jasperPrint = new JasperPrintWithConnection(reportFilePath, params, con).getJasperPrint();
- // 将填充完的japserPrint放入session中。
- request.getSession().setAttribute(BaseHttpServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);
- // 拿到japserPrintList
- List jasperPrintList = BaseHttpServlet.getJasperPrintList(request);
- // 若没有JasperPrintList,则抛出异常
- if (jasperPrintList == null) {
- throw new JasperReportException("在Http Session中没有找到JasperPrint List");
- }
- try {
- OutputStream ouputStream = response.getOutputStream();
- try {
- response.setContentType("application/xls");
- response.setCharacterEncoding("UTF-8");
- if (fileName == null || fileName.equals(""))
- response.setHeader("Content-Disposition", "inline; filename=\"noTitle.xls\"");
- else {
- response.setHeader("Content-Disposition", "inline; filename=\""
- + URLEncoder.encode(fileName, "UTF-8") + ".xls\"");
- }
- // Xls格式的导出器 JRXlsAbstractExport
- JRXlsAbstractExporter exporter = getXlsExporter();
- // 在导出器中放入要导出的japserPrintList
- exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList);
- exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);
- // 设置Xls的属性
- exporter.setParameter(JRXlsAbstractExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
- exporter.setParameter(JRXlsAbstractExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
- // 导出
- exporter.exportReport();
- } catch (JRException e) {
- e.printStackTrace();
- throw new JasperReportException("在生成XLS报表时发生错误!");
- }
- finally {
- if (ouputStream != null) {
- try {
- ouputStream.close();
- } catch (IOException ex) {
- }
- }
- }
- } catch (IOException ioe) {
- ioe.printStackTrace();
- throw new JasperReportException("从Response中取得OutputStream时发生错误!");
- }
- }
- /**
- * 导出报表
- *
- * @param request
- * @param response
- * @param reportFilePath
- * @param params
- * @param dataSource
- * @param fileName
- * @throws JasperReportException
- */
- public void export(HttpServletRequest request, HttpServletResponse response, String reportFilePath, Map params,
- JRDataSource dataSource, String fileName) throws JasperReportException {
- JasperPrint jasperPrint = new JasperPrintWithDataSource(reportFilePath, params, dataSource).getJasperPrint();
- // 将填充完的japserPrint放入session中。
- request.getSession().setAttribute(BaseHttpServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);
- // 拿到japserPrintList
- List jasperPrintList = BaseHttpServlet.getJasperPrintList(request);
- // 若没有JasperPrintList,则抛出异常
- if (jasperPrintList == null) {
- throw new JasperReportException("在Http Session中没有找到JasperPrint List");
- }
- try {
- OutputStream ouputStream = response.getOutputStream();
- try {
- response.setContentType("application/xls");
- response.setCharacterEncoding("UTF-8");
- if (fileName == null || fileName.equals(""))
- response.setHeader("Content-Disposition", "inline; filename=\"noTitle.xls\"");
- else {
- response.setHeader("Content-Disposition", "inline; filename=\""
- + URLEncoder.encode(fileName, "UTF-8") + ".xls\"");
- }
- // Xls格式的导出器 JRXlsAbstractExport
- JRXlsAbstractExporter exporter = getXlsExporter();
- // 在导出器中放入要导出的japserPrintList
- exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList);
- exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);
- // 设置Xls的属性
- exporter.setParameter(JRXlsAbstractExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
- exporter.setParameter(JRXlsAbstractExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
- // 导出
- exporter.exportReport();
- } catch (JRException e) {
- e.printStackTrace();
- throw new JasperReportException("在生成XLS报表时发生错误!");
- }
- finally {
- if (ouputStream != null) {
- try {
- ouputStream.close();
- } catch (IOException ex) {
- }
- }
- }
- } catch (IOException ioe) {
- ioe.printStackTrace();
- throw new JasperReportException("从Response中取得OutputStream时发生错误!");
- }
- }
- protected abstract JRXlsAbstractExporter getXlsExporter();
- }
java 代码
- /**
- * @copyRight Beijing Tsing-Tech Reachway Software Co.,Ltd.
- * @author Jimmy.Shine 2007-5-13
- */
- package cn.com.reachway.framework.report.export;
- import net.sf.jasperreports.engine.export.JRXlsAbstractExporter;
- import net.sf.jasperreports.engine.export.JRXlsExporter;
- /**
- * 利用报表使用POI生成XLS报表
- */
- public class XlsPOIExport extends BaseExcelExport {
- protected JRXlsAbstractExporter getXlsExporter() {
- return new JRXlsExporter();
- }
- }
java 代码
- /**
- * @copyRight Beijing Tsing-Tech Reachway Software Co.,Ltd.
- * @author Jimmy.Shine 2007-5-13
- */
- package cn.com.reachway.framework.report.export;
- import net.sf.jasperreports.engine.export.JExcelApiExporter;
- import net.sf.jasperreports.engine.export.JRXlsAbstractExporter;
- /**
- * 利用报表使用JExcel生成xls报表
- */
- public class XlsJExcelExport extends BaseExcelExport {
- protected JRXlsAbstractExporter getXlsExporter() {
- return new JExcelApiExporter();
- }
- }
评论
6 楼
水土第一
2014-02-26
windowshead 写道
import cn.com.reachway.framework.report.jasperPrint.JasperPrintWithConnection;
import cn.com.reachway.framework.report.jasperPrint.JasperPrintWithDataSource; 这个 二个类是什么类?能否提供一下~!
import cn.com.reachway.framework.report.jasperPrint.JasperPrintWithDataSource; 这个 二个类是什么类?能否提供一下~!
第一篇有的。。。。
5 楼
zhaohuan_xiao
2012-11-14
好久之前的文章了,不知道还有人看不!
我把代码加入项目中
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(reportFile.getPath());
这里异常:
at net.sf.jasperreports.engine.JRPropertiesMap.readObject
在网上找了方法 没解决。
我把代码加入项目中
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(reportFile.getPath());
这里异常:
at net.sf.jasperreports.engine.JRPropertiesMap.readObject
在网上找了方法 没解决。
4 楼
windowshead
2008-07-20
谢谢你能提供二个类,但是我还是运行不起来,郁闷中....!能不能给一个demo给参考一下,谢谢了~!
3 楼
windowshead
2008-07-17
import cn.com.reachway.framework.report.jasperPrint.JasperPrintWithConnection;
import cn.com.reachway.framework.report.jasperPrint.JasperPrintWithDataSource; 这个 二个类是什么类?能否提供一下~!
import cn.com.reachway.framework.report.jasperPrint.JasperPrintWithDataSource; 这个 二个类是什么类?能否提供一下~!
2 楼
changyang
2007-12-05
protected JRXlsAbstractExporter getXlsExporter() {
return new JExcelApiExporter();
}
晕了几天,才发现JRXlsExporter导不出图片,源码中的imageexport(...)居然是空的,哈哈,多谢了
return new JExcelApiExporter();
}
晕了几天,才发现JRXlsExporter导不出图片,源码中的imageexport(...)居然是空的,哈哈,多谢了
1 楼
lifei800
2007-11-28
为什么将填充完的japserPrint放入session中呢?
发表评论
-
谨慎使用IDEA12的并行编译模式
2012-12-14 11:07 1259IDEA 12 提供了使用扩展工具进行并行编译的功能,但是请谨 ... -
JavaMail使用注意
2012-12-12 23:55 1054在使用JavaMail发送邮件时候,需要注意,如果在收件人中过 ... -
Take care of JPA MERGE
2012-12-12 23:52 1172在使用JPA的MERGE的时候要注意: 1、将多执行一次SE ... -
Tomcat SSL正确配置
2010-12-08 14:36 1510<Connector protocol=&quo ... -
jFreechart三种图的测试代码
2010-05-10 11:17 1903Jfreechart的最新版本,对 ... -
近期看的书
2010-03-18 21:25 1238SONY PRS600。技术类的电子书一本一本的看,记录一下: ... -
开源的宿命
2009-08-11 21:06 1245Vmware收购了Spring,这绝对是一个令人震惊的消息,我 ... -
Java生成文件时的编码的问题
2009-01-05 08:40 9680最近在做RCP应用的时候,需要生成文件,而使用编码为UTF-8 ... -
Java EE架构调查
2008-11-04 21:23 1320近期准备升级技术框架。 准备升级为: JSF + Seam + ... -
框架升级兼新书推荐
2008-10-17 09:23 1415终于可以静下心来,做框架的研发了。经过无数次的努力,将项目做到 ... -
InstallAnywhere
2008-07-21 11:25 1611随着开发系统的加大,对 ... -
Portlet
2008-07-12 20:35 1636Portlet技术已经被广泛运用,转载此文目的在于大家一窥Po ... -
以SSL加强Tomcat的安全防护能力
2008-07-11 01:55 1445关于如何在TOMCAT中使用SSL的文档。 由于插入图片太 ... -
越来越无知了
2008-07-08 22:22 1411学习知识总有一个过程,大体上是这样。 感觉自己什么都不知道-- ... -
netBeans6.1与eclipse
2008-05-24 00:42 1803为了学习JavaFX,遵照于官方教程,下载了netBeans, ... -
详细讲解Java中log4j的使用方法
2008-01-07 16:37 16811、Log4j是什么? Log4j可以帮助调试(有时候de ... -
以不合适的方式在编程
2007-12-12 20:49 1190越来越喜欢组件化的开发了,可能是对于组件化开发的喜欢。 在Ja ... -
Log4j的使用以及在Spring中集成(转)
2007-12-09 09:27 4728log4j简介 简单的说log4j ... -
JBoss Tools--eclipse开发基于B/S模式下的必备插件
2007-11-27 13:32 4205JBoss是越来越强大了,一直有使用JBoss的,自从归属于R ... -
eclipse3.4到底改变了什么,陈桥五笔无法使用
2007-11-26 09:57 1961Eclipse发布了3.4M3,内置了许多有用的新功能,最直接 ...
相关推荐
在本教程中,我们将详细介绍如何使用JasperReport 2.0.3版本来创建报表模板,并进行简单的报表设计。本教程主要面向初学者,旨在帮助大家快速入门。 #### 二、下载与安装iReport ##### 1. 下载iReport iReport是...
JasperReport通过使用JRXML文件定义这些布局,这是一种基于XML的报表设计语言。 1. **报表设计**: - 使用JasperDesign或IReport(一个可视化的报表设计工具)创建JRXML文件,定义报表的样式、布局和字段。 - ...
2. **编译阶段**:设计完成后,iReport会将报表模板(.jrxml文件)编译成JasperReport引擎可理解的二进制格式(.jasper文件)。这一步骤确保了报表模板的执行效率。 3. **填充阶段**:在Java应用程序中,使用...
iReport 是一款强大的开源报表设计工具,主要用于创建 JasperReport 的报表格式文件。它弥补了 JasperReport 在可视化报表设计上的不足,提供了用户友好的图形界面。iReport 4.1.1 是一个较旧但仍然广泛使用的版本,...
2..jasper 文件生成:iReport 新创建的报表模板为.jrxml 格式,编辑完毕后需要编译,编译会产生.jasper 文件。在运行时需要编译好的.jasper 文件,这原理类似 java 程序,源代码文件是.java,编译好之后是.class ...
iReport是一款强大的报表设计工具,它与Java Report Design Language (JRDJ) 和JavaServer Pages (JSP) 配合使用,能够为Java应用程序提供灵活的报告生成功能。 描述中提到,开发环境是基于JBoss应用服务器和ZK(ZK...
总结来说,基于Java Swing的固定资产管理系统是一个集数据输入、处理、查询、报表于一体的综合性应用。它结合了Java编程语言的强大功能和Swing的GUI设计优势,为企业提供了直观、易用的资产管理工具。在实际开发中,...
开发了一套的维修报单系统,用于简化其维修报单过程,加强管理,以及提供规范化报表。该系统采用JasperReport,SQL Server2000,Swing (一) 业务流程 1. 报修人到报单员那里申请报修单 2. 报单员填入必填...