jsp 导出excel

本文介绍了一种使用JSP和Java技术将积分流水数据导出到Excel文件的方法。通过设置正确的HTTP响应头和利用JSTL标签库,可以动态生成包含用户积分交易记录的Excel表格。

1、jsp页面

<%@ page contentType="application/vnd.ms-excel; charset=gbk"%>
<%@ page language="java" pageEncoding="GBK"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
    String filename = new String(("积分流水").getBytes("GBK"),"ISO-8859-1"); 
    response.addHeader("Content-Disposition", "filename=" + filename+ ".xls");
%>
<html>
<head>
<meta name="Generator" content="Microsoft Excel 11">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
	<table border="1" align="center" cellpadding="0" cellspacing="1">
		<tr>
			<td colspan="10" style="text-align: center; height: 35px;"><b>积分商城订单明细</b>
			</td>
		</tr>
		<tr>
			<td colspan="10">积分流水(笔):${co},总赠送(积分):${give},总消耗(积分):${expend},总消耗价值(元):${money}
		</tr>
		<tr>
			 		<td align="center">用户名</td>
                    <td align="center">用户ID </td>
                    <td align="center">手机</td>
                    <td align="center">操作类型</td>
                    <td align="center">积分数额</td>
                    <td align="center">操作时间</td>
                    <td align="center">原因</td>
                    <td align="center">订单号</td>
                    <td align="center">剩余积分</td>
                    <td align="center">当时总剩余积分</td>
                    <td align="center">当时总消耗积分</td>
                    <td align="center">当时总获赠积分</td>
		</tr>
		<c:forEach items="${financeCredits }" var="obj">
			<tr>
				<td align="center">${obj.nickname}</td>
				<td align="center">${obj.acccode}</td>
				<td align="center">${obj.phone}</td>
				<c:choose>
				   <c:when test="${obj.type ==1 }">  
				     <td align="center">收入</td>
					<td align="center">+${obj.count}</td>
				   </c:when>
				   <c:otherwise> 
				  <td align="center">支出</td>
					<td align="center">-${obj.count}</td>
				   </c:otherwise>
				</c:choose>
				<td align="center">${obj.creattime}</td>
				<td align="center">${obj.descript}</td>
				<td align="center">${obj.ordercode}</td>
				<td align="center">${obj.surCredit}</td>
				<td align="center">${obj.consumCredit}</td>
				<td align="center">${obj.countCredit}</td>
				<td align="center">${obj.addCredit}</td>
			</tr>
		</c:forEach>
	</table>
</body>
</html>

  2、controller

@RequestMapping(value = "/downloadExcelMainCreadit",method = RequestMethod.GET)
	public ModelAndView downloadExcelMainCreadit(HttpServletRequest req,HttpServletResponse resp,Integer proStatus,
			Integer proIndex,
			String startTime,
			String endTime,
			Integer startcredit,
			Integer endcredit,
			String userName) throws UnsupportedEncodingException{
		ModelAndView modelAndView = new ModelAndView("Mgr/mall/downloadExcelMainCredit");
		if(null!=userName&&""!=userName){
			userName = new String(userName.getBytes("iso-8859-1"), "utf-8");
		}
		if(null==startTime.trim() || null==endTime.trim()){
			startTime = null;
			endTime = null;
		}
		List<LinkedHashMap<String,Object>> financeCredits = financeCreditService.selectAll(proStatus,proIndex,startTime,endTime,startcredit,endcredit,userName);
		LinkedHashMap<String,Object> count = financeCreditService.selectCount();
		
		modelAndView.addObject("financeCredits", financeCredits);
		modelAndView.addObject("co", count.get("co"));
		modelAndView.addObject("give", count.get("give"));
		modelAndView.addObject("expend", count.get("expend"));
		modelAndView.addObject("money", MathUtil.div((BigDecimal)count.get("expend"),100));   //
		return modelAndView;
	}

  

转载于:https://www.cnblogs.com/xdcr/p/7675621.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值