文件导出excel工具类

话不多说,直接上代码

首先 action层
1)定义好导出文件的名称 例如 export.xls
2)计算好需要导出的List<String;>文件
3)然后直接调用下面的方法

public static void export2Excel(HttpServletResponse response, String fileName, List<String[]> list) throws IOException {
		response.reset();
		//response.setContentType("application/pdf"); 导出PDF的加上该行
		response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
		response.setHeader("Pragma", "no-cache");
		response.setHeader("Cache-Control", "no-cache");
		response.setDateHeader("Expires", 0);
		OutputStream output = response.getOutputStream();
		// 初始化excel信息
		HSSFWorkbook wb = new HSSFWorkbook();
		int pageCnt = 1;
		HSSFSheet sheet = wb.createSheet("第"+pageCnt+"页");

		int count =0;
		for (int r = 0; r < list.size(); r++) {// excel row
			if (count >65530){//解决文件内容过长的问题
				count=0;
				pageCnt++;
				sheet = wb.createSheet("第"+pageCnt+"页");
				createHead(sheet, list.get(0), count);
				count++;
				createHead(sheet, list.get(r), count);
				continue;
			}
			if (r%100 == 0){
						
			}
			createHead(sheet, list.get(r), count);
			count++;
		}
		wb.write(output);
		output.flush();
		output.close();
	}
private static void createHead(HSSFSheet sheet,String[] line,int count){
		HSSFRow row = sheet.createRow(count);
		HSSFCell cell = null;
		for (int c = 0; c < line.length; c++) {// excel cell
			cell = row.createCell(c);
			cell.setCellValue(new HSSFRichTextString(line[c]));
		}
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值