代码思路说明
原来项目中也是有导出的方法,自己觉得不太满意,就自己重新写了一个公用方法。这种类似的方法很多,这里只是自己的一个案例。
对于导出,应该有的参数是 要导出的字段、数据列表以、excel的表头及文件名。这里主要实现了分sheet页导出。
先看看代码吧: Action中确定了导出的参数及查询好了数据列表,直接调用excelExport方法,捕获相关异常即可,不需要多余的操作。
/**
* jxl导出excel方法
* @author 巩浩 2016-7-7 下午2:17:47
* @param fileName 文件名
* @param heads 字段名称(例:{姓名,年龄})
* @param headsStr 字段(例:{name,age})
* @param dataList 数据列表
*/
@SuppressWarnings("rawtypes")
public static void excelExport(String fileName,String[] heads,String[] headsStr,List dataList) throws Exception {
WritableWorkbook book=null ;
OutputStream os = null;
try{
HttpServletResponse response = ServletActionContext.getResponse();
os = response.getOutputStream();
response.reset();
response.setHeader("Content-disposition", "attachment; filename=\""
+ URLEncoder.encode(fileName,"UTF-8")+ "_"+System.currentTimeMillis() + ".xls\"");
response.setContentType("application/msexcel; charset=utf-8");
if (dataList != null && dataList.size() >