jasperReports+iReport实现另存为导出excel超详细
2012-07-12 09:21
357 查看
最近的项目中用到了报表,所使用的工具就是JasperReport和iReport,JasperReport和iReport的版本一定要对应.
[b]JasperReport, ireport安装与使用请参考[/b]
http://enetq.blog.51cto.com/blog/479739/800135 一
http://blog.csdn.net/wandazt/article/details/7411904二
/article/4317850.html三
下面我说一下 java项目里面如何做成导出excel 另存为的效果,上面的例子都是指定路径生成的 这样的如果给客户使用那是肯定不行的
下面图是项目里的效果,导出的excel 是我自己制作的 有点小丑
这就另存为效果。
我用的是struts2框架
首先根据上面链接讲的 把对应的 jasper文件导入项目 导入jar包
下面是action代码
上面有个name参数 是从页面传入的,下面有个 if else 是判断要导出excel 是哪个页面
配置xml
jsp页面 导出excel <a href="#" onClick="return daochu()" class="btnExcel"><span>导出Excel</span></a>
js 指定 action name参数
function daochu()
{
document.fm.action="daochu.action?name=/selectKehu.jasper";
fm.submit();
}
OK,我请教了好多人弄了好几天才弄好,现在分享给大家,
[b]JasperReport, ireport安装与使用请参考[/b]
http://enetq.blog.51cto.com/blog/479739/800135 一
http://blog.csdn.net/wandazt/article/details/7411904二
/article/4317850.html三
下面我说一下 java项目里面如何做成导出excel 另存为的效果,上面的例子都是指定路径生成的 这样的如果给客户使用那是肯定不行的
下面图是项目里的效果,导出的excel 是我自己制作的 有点小丑
这就另存为效果。
我用的是struts2框架
首先根据上面链接讲的 把对应的 jasper文件导入项目 导入jar包
下面是action代码
package com.erp.bb.action; import net.sf.jasperreports.engine.export.JExcelApiExporter; import com.erp.conn.ConnectionManager; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.util.OgnlValueStack; import java.io.File; import java.io.FileOutputStream; import java.sql.Connection; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import org.apache.struts2.StrutsStatics; import net.sf.jasperreports.engine.JRAbstractExporter; import net.sf.jasperreports.engine.JRExporterParameter; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.export.JExcelApiExporter; public class daochuAction extends ActionSupport { private String name = null; public String getName() { return name; } public void setName(String name) { this.name = name; } public String daochuExcel() throws Exception{ HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getResponse(); File reportFile = new File(name); Map parameters = new HashMap(); Connection conn = null; FileOutputStream output = null; conn = ConnectionManager.getConnection(); Map parameter = new HashMap(); JasperPrint report = null; report = JasperFillManager.fillReport(reportFile.getPath(),parameter, conn); JRAbstractExporter exporter = new JExcelApiExporter(); response.setHeader("Content-disposition ","attachment;filename=a"); response.setContentType("application/vnd.ms-excel"); exporter.setParameter(JRExporterParameter.JASPER_PRINT, report); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, response.getOutputStream()); exporter.exportReport(); output.close(); conn.close(); if(name=="/selectKehu.jasper"){ return "selectKehu"; } else if(name=="/selectUser.jasper"){ return "selectUser"; }else{ return null; } } }
上面有个name参数 是从页面传入的,下面有个 if else 是判断要导出excel 是哪个页面
配置xml
<package name="com.erp.bb.action" extends="struts-default"> <action name="daochu" class="com.erp.bb.action.daochuAction" method="daochuExcel"> <result name="selectKehu" type="dispatcher">/Site/xitonggl/yonghugl/deleteKehuOK.jsp</result> <result name="selectUser" type="dispatcher">/Site/xitonggl/yonghugl/deleteOK.jsp</result> </action> </package>
jsp页面 导出excel <a href="#" onClick="return daochu()" class="btnExcel"><span>导出Excel</span></a>
js 指定 action name参数
function daochu()
{
document.fm.action="daochu.action?name=/selectKehu.jasper";
fm.submit();
}
OK,我请教了好多人弄了好几天才弄好,现在分享给大家,
相关文章推荐
- iReport+JasperReport实现数据库记录导出到html、excel、pdf文档
- jasperReport+ireport实现报表导出和数据分析
- phpExcel实现Excel数据的导入导出(全步骤详细解析)
- 【iReport+JasperReport】3.在Java工程中用jasper导出Excel报表
- 利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
- 利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
- ireport制作jasperreport报表详细过程(包括jsp端代码实现)
- ireport、jasperreport studio 导出excel有白色背景
- JasperReports+iReport打印为excel表头重复问题解决
- 【清楚理解后台利用ireport到处报表的原理】ireport制作jasperreport报表详细过程(包括jsp端代码实现)
- iReport+JasperReport实现数据库记录导出到html、excel、pdf文档
- ireport制作jasperreport报表详细过程(包括jsp端代码实现)
- 利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
- HIGHCHARTS 在WEB生成SVG图片导出到word的详细操作步骤 导出另存为以及文件中文名称的实现
- jasperreport + ireport 导出各种类型文件(word,excel,html,pdf,打印) .
- ireport+jasperreport开源报表中使用javabean作为数据源的详细实现过程
- phpExcel实现Excel数据的导入导出(全步骤详细解析)
- c#如何实现excel导入到sqlserver,如何实现从sqlserver导出到excel中(详细)
- 结合struts2实现的通用导出excel实现详细介绍
- JasperReports+iReport打印为excel表头重复问题解决