- 浏览: 389278 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
iris_1992:
2005年以前,国外开原报表完全碾压国产软件,但是现在国内软件 ...
JasperReport报表设计总结(一)(已完毕) -
水土第一:
在flash显示jasperprintlist的时候,根据下面 ...
JasperReport报表设计总结(三)(已完毕) -
水土第一:
结构分的很清晰。。。加上applet与jasper的东西就更完 ...
JasperReport报表设计总结(三)(已完毕) -
水土第一:
windowshead 写道import cn.com.rea ...
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 1173IDEA 12 提供了使用扩展工具进行并行编译的功能,但是请谨 ... -
JavaMail使用注意
2012-12-12 23:55 929在使用JavaMail发送邮件时候,需要注意,如果在收件人中过 ... -
Take care of JPA MERGE
2012-12-12 23:52 1085在使用JPA的MERGE的时候要注意: 1、将多执行一次SE ... -
Tomcat SSL正确配置
2010-12-08 14:36 1442<Connector protocol=&quo ... -
jFreechart三种图的测试代码
2010-05-10 11:17 1847Jfreechart的最新版本,对 ... -
近期看的书
2010-03-18 21:25 1184SONY PRS600。技术类的电子书一本一本的看,记录一下: ... -
开源的宿命
2009-08-11 21:06 1192Vmware收购了Spring,这绝对是一个令人震惊的消息,我 ... -
Java生成文件时的编码的问题
2009-01-05 08:40 9626最近在做RCP应用的时候,需要生成文件,而使用编码为UTF-8 ... -
Java EE架构调查
2008-11-04 21:23 1254近期准备升级技术框架。 准备升级为: JSF + Seam + ... -
框架升级兼新书推荐
2008-10-17 09:23 1365终于可以静下心来,做框架的研发了。经过无数次的努力,将项目做到 ... -
InstallAnywhere
2008-07-21 11:25 1551随着开发系统的加大,对 ... -
Portlet
2008-07-12 20:35 1563Portlet技术已经被广泛运用,转载此文目的在于大家一窥Po ... -
以SSL加强Tomcat的安全防护能力
2008-07-11 01:55 1357关于如何在TOMCAT中使用SSL的文档。 由于插入图片太 ... -
越来越无知了
2008-07-08 22:22 1333学习知识总有一个过程,大体上是这样。 感觉自己什么都不知道-- ... -
netBeans6.1与eclipse
2008-05-24 00:42 1744为了学习JavaFX,遵照于官方教程,下载了netBeans, ... -
详细讲解Java中log4j的使用方法
2008-01-07 16:37 16321、Log4j是什么? Log4j可以帮助调试(有时候de ... -
以不合适的方式在编程
2007-12-12 20:49 1125越来越喜欢组件化的开发了,可能是对于组件化开发的喜欢。 在Ja ... -
Log4j的使用以及在Spring中集成(转)
2007-12-09 09:27 4646log4j简介 简单的说log4j ... -
JBoss Tools--eclipse开发基于B/S模式下的必备插件
2007-11-27 13:32 4132JBoss是越来越强大了,一直有使用JBoss的,自从归属于R ... -
eclipse3.4到底改变了什么,陈桥五笔无法使用
2007-11-26 09:57 1913Eclipse发布了3.4M3,内置了许多有用的新功能,最直接 ...
相关推荐
JasperReport报表设计总结
jasperreport报表开发小结,使用ireport设计报表模板,javabean作为数据源,整合springboot实现在线预览和导出各种格式的报表
jasperReport 进行报表开发 可以输出HTML ,JSP,PDF等格式
使用ireport和struts2进行报表设计的简单示例,生成普通报表和饼图、柱状图。java工程的lib里包含丰富的jar包,且很多都是从各个网站下载的最新版本,文件夹内还包含一些ireport和jasperreport文档,适合刚入门学习...
iReport-JasperReport 报表开发指南,PDF格式,里面带有图文,入门性质的教程
JasperReport 中交叉报表指南
使用Spring2.5+Struts2+ibatis+jasperreport3.1.4 实现Struts2与Jasperreport报表结合
JasperReport6.4.0报表设计,webSpringmvc,maven,idea,请使用jdk1.7
JasperReport报表成型框架,可直接导入Myeclipse使用,附带文档有相关解释。
ireport-5.6.0 Jasperreport 报表工具 jar包大全Two
JasperReport 水晶报表 , 支持子报表 多数据源。
ireport-5.6.0 Jasperreport 报表工具 jar包大全
springboot整合JasperReport实现报表功能文章所需的全部资源
同时,借助开源的JasperReports模板设计利器iReports,可以可视化的设计报表模板。基于Web的报表在很多项目中都是需要的。而随着Struts2的流行,就应该研究一下在Struts2下如何利用JasperReports进行报表输出。本...
iReport-5.6.0 Jasperreport
在文档中基本将工作中使用IReport和JasperReport开发报表时碰到的问题以及解决方法都予以给出. (看了就知道值)
jasperreport 6.4.1报表动态列,以及生成导出html,可直接导入到eclipse中进行运行,包含一个完整的demo