- 浏览: 394822 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 1213IDEA 12 提供了使用扩展工具进行并行编译的功能,但是请谨 ... -
JavaMail使用注意
2012-12-12 23:55 1003在使用JavaMail发送邮件时候,需要注意,如果在收件人中过 ... -
Take care of JPA MERGE
2012-12-12 23:52 1137在使用JPA的MERGE的时候要注意: 1、将多执行一次SE ... -
Tomcat SSL正确配置
2010-12-08 14:36 1481<Connector protocol=&quo ... -
jFreechart三种图的测试代码
2010-05-10 11:17 1880Jfreechart的最新版本,对 ... -
近期看的书
2010-03-18 21:25 1211SONY PRS600。技术类的电子书一本一本的看,记录一下: ... -
开源的宿命
2009-08-11 21:06 1223Vmware收购了Spring,这绝对是一个令人震惊的消息,我 ... -
Java生成文件时的编码的问题
2009-01-05 08:40 9664最近在做RCP应用的时候,需要生成文件,而使用编码为UTF-8 ... -
Java EE架构调查
2008-11-04 21:23 1297近期准备升级技术框架。 准备升级为: JSF + Seam + ... -
框架升级兼新书推荐
2008-10-17 09:23 1391终于可以静下心来,做框架的研发了。经过无数次的努力,将项目做到 ... -
InstallAnywhere
2008-07-21 11:25 1587随着开发系统的加大,对 ... -
Portlet
2008-07-12 20:35 1607Portlet技术已经被广泛运用,转载此文目的在于大家一窥Po ... -
以SSL加强Tomcat的安全防护能力
2008-07-11 01:55 1407关于如何在TOMCAT中使用SSL的文档。 由于插入图片太 ... -
越来越无知了
2008-07-08 22:22 1365学习知识总有一个过程,大体上是这样。 感觉自己什么都不知道-- ... -
netBeans6.1与eclipse
2008-05-24 00:42 1773为了学习JavaFX,遵照于官方教程,下载了netBeans, ... -
详细讲解Java中log4j的使用方法
2008-01-07 16:37 16571、Log4j是什么? Log4j可以帮助调试(有时候de ... -
以不合适的方式在编程
2007-12-12 20:49 1160越来越喜欢组件化的开发了,可能是对于组件化开发的喜欢。 在Ja ... -
Log4j的使用以及在Spring中集成(转)
2007-12-09 09:27 4692log4j简介 简单的说log4j ... -
JBoss Tools--eclipse开发基于B/S模式下的必备插件
2007-11-27 13:32 4182JBoss是越来越强大了,一直有使用JBoss的,自从归属于R ... -
eclipse3.4到底改变了什么,陈桥五笔无法使用
2007-11-26 09:57 1939Eclipse发布了3.4M3,内置了许多有用的新功能,最直接 ...
相关推荐
本文主要总结了JasperReport报表设计的关键点,包括报表格式定制、数据填充以及显示或打印。 首先,报表格式的定制分为两种方式。一是编写jrxml文件,这是一种XML格式的文件,用于描述报表的布局和样式。另一种方式...
在本项目中,“jasperReport测试项目(含报表设计文件).rar”是一个压缩包,包含了一系列用于JasperReport报表设计的文件,帮助我们理解和实践报表开发。 报表设计是JasperReport的核心功能,通过使用JRXML文件,...
Jaspersoft iReport Designer 5.6.0 设计器的功能很强大,它可以实现 Table 表、交叉表、子报表、多数据源等复杂的报表设计。ireport 的使用可以分为以下几步: • 设计报表模板 • 生成 XML 格式的文件 • 编译生成...
1. **设计子报表**:使用报表设计工具创建子报表的JRXML文件,定义其布局和数据绑定。 2. **编译子报表**:将子报表的JRXML文件编译成.jasper文件。 3. **在主报表中添加子报表**:在主报表的JRXML中,使用`...
要设置 subDataSets 数据源,需要在报表设计中点击“数据源”按钮,然后选择“subDataSets”,并填写数据源名称和 SQL 语句。 2. 填写数据源名称和 SQL 语句 在设置 subDataSets 数据源时,需要填写数据源名称和 ...
JasperReport提供了丰富的报表设计功能,包括自定义样式、模板、以及动态数据填充。 iReport作为JasperReport的前端设计工具,允许用户通过图形化界面来设计报表。它支持导入各种数据源,如数据库、XML文件或Java...
总结来说,JasperReport通过其强大的报表设计能力、灵活的数据处理和动态生成特性,为企业和开发者提供了高效便捷的报表解决方案。结合源码和配套工具,可以满足多样化的需求,提升数据展示的质量和效率。
**JasperReport 6.4.0报表设计详解** JasperReport是一款强大的开源报表工具,广泛应用于Java应用程序中,提供灵活的报告设计和丰富的数据可视化功能。在JasperReport 6.4.0版本中,它继续提升了用户体验,增强了...
总结,JasperReport作为一个灵活的报表工具,为开发者提供了丰富的报表设计和数据呈现方式,使其能够在各种Java应用中生成高质量的报表。配合详细的文档和开发注意事项,可以有效地提高开发效率和报表质量。对于那些...
通过以上分析,我们可以看出“JasperReport动态报表归并行数据”涉及到的核心概念包括动态报表设计、数据源处理、数据归并、自定义脚本let以及开发工具的使用。掌握这些知识点,能帮助开发者创建出适应各种业务需求...
总结一下,本知识点主要涵盖了JasperReport报表设计和预览,以及Applet和Servlet的通信机制。通过理解和实践这些概念,开发者可以构建一个基于Java的Web应用,提供动态生成和预览报表的功能。同时,了解Applet和...
使用ireport和struts2进行报表设计的简单示例,生成普通报表和饼图、柱状图。java工程的lib里包含丰富的jar包,且很多都是从各个网站下载的最新版本,文件夹内还包含一些ireport和jasperreport文档,适合刚入门学习...
1. 设计报表:使用JasperReport的报表设计工具(如iReport或Jaspersoft Studio)创建报表模板。 2. 配置Struts2:在struts.xml中定义Action,指定处理报表请求的方法。 3. 实现Action:在Action中,加载数据源,执行...
iReport是一款开源的报表设计工具,它是基于JasperReports库开发的。用户可以通过它使用拖放界面来设计复杂的报表布局,包括表格、图表、文本等元素。iReport支持SQL查询,可以连接到各种数据库,提供了丰富的预览和...
总结来说,JasperReport+iReport的组合为开发者提供了强大的报表设计能力,不仅能够处理基础的查询展示,还能实现复杂的报表结构和数据处理。通过熟练运用iReport,可以有效地满足项目中的各种报表需求,同时保持...
JasperReport是一个功能强大的开源报表引擎,允许开发人员通过iReports这样的设计工具以可视化的形式创建复杂的报表模板。Struts2,作为一个流行的Java Web框架,提供了一个灵活的MVC架构,使得在Web应用程序中集成...
**JasperReport 水晶报表** ...总的来说,JasperReport和水晶报表都是强大的报表工具,它们在数据展现、报表设计和企业应用上都有独特的优势。选择哪个工具取决于具体项目的需求、预算以及开发团队的技术背景。
而JasperReport是一款强大的开源报表工具,能够帮助开发者创建、设计和展示复杂的业务报告。将两者整合,可以让SpringBoot应用程序轻松地生成和展示各种类型的报表。 在SpringBoot中整合JasperReport,首先你需要在...