- 浏览: 288197 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
jim8757:
能提供下完整的代码吗?
实例解析java + jQuery + json工作过程(登录) -
befairy:
收藏,谢谢LZ
基于Java、jQuery应用的账务管理系统开源了(09.3.19更新) -
Gilbert_Sam:
我看过这本书,很好,看到二十几章的地方,结果网站就登陆不上,写 ...
Linux C编程一站式学习 http://learn.akae.cn/ -
ljy520zhiyong:
这个网址进入不了呀
Linux C编程一站式学习 http://learn.akae.cn/ -
蜀山红日:
如果后台要向前台返回复杂数据该怎么办呢
实例解析java + jQuery + json工作过程(登录)
由于在一个里面不能贴太多的代码,故放置代码在此处。
上接: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时发生错误!"); } } }Excel格式的:
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(); } }
发表评论
-
自定义js延时函数
2010-03-26 11:38 4576setTimeout不是真正意义上的延时函数,而且在表单提交后 ... -
ssh jar包配置
2009-11-27 11:31 2344本文中ssh指:struts2,srping2.5,hib ... -
每个项目中,你不得不知的11个Java第三方类库
2009-11-02 09:06 1137Java第三方library ecosystem是一个很广阔的 ... -
J2EE学习中一些值得研究的开源项目
2009-08-10 10:07 1374这篇文章写在我研究J2SE、J2EE近三年后。前3年 ... -
对JXL包的研究(java操作excel)
2009-06-25 07:44 1560对JXL包的研究(java操作excel) 在开源世界中,有两 ... -
java类中成员的装载顺序你知道吗
2009-04-03 08:18 1027最近去参加了SCJP培训,相信对于绝大多数的JAVA工作者来说 ... -
java操作word文件
2009-03-31 15:41 1758一个jacob操作Word的例子 import java. ... -
Java操作PDF文件(iText)
2009-03-31 15:32 5925然jacob中也有关于PDF的方法,但是过于复杂。iText是 ... -
java对excel操作
2009-03-31 15:11 1499从Excel文件读取数据表 Java Excel API既可 ... -
JAVA解析XML的四种方法
2009-03-31 08:49 1430XML现在已经成为一种通 ... -
Java:集合类性能分析
2009-03-20 20:41 19811.Java 集合框架图 -集合接口:6个接口(短虚 ... -
在看commons-lang.jar包源码时候的一些发现及实践
2009-03-11 10:55 3645通常,我们在完成一个标准的JavaBean的时候,都需要同时完 ... -
解决大批量数据导出Excel产生内存溢出的方案(二)
2009-03-11 10:42 6350客户要求一次导出20w行数据,这就要求导出的文件必须带shee ... -
解决大批量数据导出Excel产生内存溢出的方案
2009-03-11 10:41 5439POI或者JXL在导出大量数据的时候,由于它们将每一个单元格生 ... -
java语言的反射机制1
2009-03-11 10:23 1146java语言的反射机制为是java语言所提供的一项特别吸引人的 ... -
Java获取各种常用时间方法(二)
2009-03-11 09:43 1092//获得本年最后一天的日期 * ... -
Java获取各种常用时间方法
2009-03-11 09:40 1234本人之前做的项目中积累常用的时间方法,贴出来与大家共享,如果哪 ... -
JavaSE6.0 Web Service学习笔记(二)
2009-03-11 09:30 7426JavaSE6.0下的Web Service 从JavaSE6 ... -
JavaSE6.0 Web Service学习笔记(一)
2009-03-11 09:24 1465Web Service概述 Web Service ... -
JDK5.0 Annotation学习笔记(一)
2009-03-11 09:22 989背景知识: 从JDK5开始提供名为Annotat ...
相关推荐
在本教程中,我们将详细介绍如何使用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. 报单员填入必填...