web端根据数据导出excel

java中需要导入poi包

HSSFWorkbook wb = new HSSFWorkbook();
		HSSFSheet sheet = wb.createSheet("交易记录统计分析");
		HSSFRow row = sheet.createRow((int) 0);
		HSSFCell title_cell = row.createCell(0);
		HSSFCellStyle style = wb.createCellStyle();
		style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
		title_cell.setCellValue("用户交易历史记录");
		sheet.addMergedRegion(new CellRangeAddress(0, 1, 0, 10));
		title_cell.setCellStyle(style);
		row = sheet.createRow((int) 2);
		String[] excelHeader = { "编号", "用户名称", "交易前金额", "交易前可用金" , "交易金额", "交易后可用金", "交易后金额", "交易时间", "交易类型", "交易标识", "交易ID"};
		for (int i = 0; i < excelHeader.length; i++) {
			HSSFCell cell = row.createCell(i);
			cell.setCellValue(excelHeader[i]);
			cell.setCellStyle(style);
			sheet.autoSizeColumn(i);
		}
		int i = 3;
		for(Trade trade:tradeList) {
			dealSearchTrade(trade);
			row = sheet.createRow(i);
			i = i + 1;
			double presummoney = null == trade.presummoney ? 0.0 : Double.parseDouble(String.valueOf(trade.presummoney));
			double prekymoney = null == trade.prekymoney ? 0.0 : Double.parseDouble(String.valueOf(trade.prekymoney));
			double trademoney = null == trade.trademoney ? 0.0 : Double.parseDouble(String.valueOf(trade.trademoney));
			double endkymoney = null == trade.endkymoney ? 0.0 : Double.parseDouble(String.valueOf(trade.endkymoney));
			double endsummoney = null == trade.endsummoney ? 0.0 : Double.parseDouble(String.valueOf(trade.endsummoney));
			User myUser = userService.selectUserById(trade.user_id);
			SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			String dateString = formatter.format(trade.tradetime);
			row.createCell(0).setCellValue(null == trade.no ? "N/A" : trade.no);
			row.createCell(1).setCellValue(null == myUser.mobile_phone ? "N/A" : myUser.mobile_phone);
			row.createCell(2).setCellValue(presummoney);
			row.createCell(3).setCellValue(prekymoney);
			row.createCell(4).setCellValue(trademoney);
			row.createCell(5).setCellValue(endkymoney);
			row.createCell(6).setCellValue(endsummoney);
			row.createCell(7).setCellValue(dateString);
			row.createCell(8).setCellValue(null == trade.trade_type ? "N/A" : trade.trade_type);
			row.createCell(9).setCellValue(null == trade.trade_mark ? "N/A" : trade.trade_mark);
			row.createCell(10).setCellValue(null == trade.trade_id ? "N/A" : trade.trade_id);
		}
		sheet.autoSizeColumn(0);
		sheet.autoSizeColumn(1);
		sheet.autoSizeColumn(2);
		sheet.autoSizeColumn(3);
		sheet.autoSizeColumn(4);
		sheet.autoSizeColumn(5);
		sheet.autoSizeColumn(6);
		sheet.autoSizeColumn(7);
		sheet.autoSizeColumn(8);
		sheet.autoSizeColumn(9);
		sheet.autoSizeColumn(10);
		HttpServletResponse response = getContext().getResp();
		StringBuffer excelName = new StringBuffer();
		excelName.append("用户交易历史记录").append(".xls");
		response.setContentType("application/msexcel");
		response.setHeader("Content-disposition", "inline;filename=" + new String(excelName.toString().getBytes("gb2312"), "iso8859-1"));
		OutputStream ouputStream = response.getOutputStream();
		wb.write(ouputStream);
		wb.close();
		ouputStream.flush();
		ouputStream.close();	


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值