ireport导出excel,html.pdf等格式完整实例

本文档详细介绍了如何使用iReport工具从Struts action导出数据到Excel、HTML和PDF格式。重点包括:导入必要的jar包,如jasperreports和poi,确保版本匹配;在iReport中设计报表模板;在action中实现导出功能,调用JasperHelper类;以及struts配置文件的相关设置。特别强调,iReport中字段名必须与传入list中对象属性名一致,且大小写敏感。
摘要由CSDN通过智能技术生成

本例报表中的数据是List传入的值,不是通过报表执行查询的数据。本例是基于struts使用的。利用ireport工具导出excel

 

一、导入irport相关的jar包导入

common-digester-1[1].7.jar

commons-javaflow-200060411.jar

itext-1.3.jar

iTextAsian.jar

jasperreports-1.2.4.jar

jcommon-1.0.16.jar

jfreechart-1.0.13.jar

poi-2.0-final-20010126.jar

需要注意的是:jar包的版本一定要注意,如果本版不同的话,很容易引起错误的。

 二、在ireport中画出,需要显示的字段样式 (网上有很多这样的例子,这里就不说怎么制作ireport文件了)如下是我制作的文件样式,编译生成.jasper我们需要的这个xx.jasper文件。

三、①当页面点击“导出”时,会执行action中的exportexcel ()方法。(需要注意的是如果页面用的是ajax请求action那么,不一定能够出现下载页面,但是我没有验证,因为以前我做过的是poi导出excel时用ajax请求action时不行,所以最好不要用ajax请求action)

	/**
	*导出数据
	* @param "excel"导出文件文件格式
	* @param "intentpro2.jasper" ireport编译生成的.jasper文件
	* @param alllist  需要导出的数据的list值
	* @param fianceInfo  当导出是默认的文件名称
	* @return String
	*/
	public String exportexcel(){
			JasperHelper.exportmain("excel", "intentpro2.jasper", alllist, "fianceInfo");
		return SUCCESS;
	}

②JasperHelper类

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.apache.struts2.ServletActionContext;
import org.jfree.util.Log;

import com.opensymphony.xwork2.ActionContext;
import com.qqw.crm.common.dao.impl.BaseDaoImpl;

import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporter;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.base.JRBaseReport;
import net.sf
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值