1.页面
<div class="black3">
<div class="black3_lef">
<form>
<button class="but01" onclick="exp();" type="button">EXCEL导出</button>
</form>
</div>
</div>
<div>
<table class="table txtC">
<thead>
<tr>
<th>学院</th>
<th>录取人数</th>
<th>现场已报到</th>
<th>现场未报到</th>
<th>现场报到率</th>
</tr>
</thead>
<tbody>
<#assign result= 1 />
<#list resModel as result>
<#assign result= 2 />
<tr class="emp">
<td>${result.xymc?default(0)}</td>
<td>${result.xydmCount?default(0)}</td>
<td>${result.xcbdNumCount?default(0)}</td>
<td>${result.sxcbdNumCount?default(0)}</td>
<td>${result.xcbdTate?default(0)}</td>
</tr>
</#list>
<#if result==2>
<#list sumList as s>
<tr class="emps" style="background: #fcfce2;" >
<td>总计</td>
<td>${s.allNum?default(0)}</td>
<td>${s.xcbdNumCountSum?default(0)}</td>
<td>${s.sxcbdNumCountSum?default(0)}</td>
<td>${s.xcbdTateSum?default(0)}</td>
</tr>
</#list>
</#if>
<#if result==1>
<tr>
<td colspan="5" class="table_tips_err">-- 无记录 --</td>
</tr>
</#if>
</tbody>
</table>
2.JS
<script>
//导出
function exp(){
if($(".emp").length<1){
$.lt.alert("没有要导出的数据",{title:"提示信息",t:"warning"});
}else{
$("#shForm").prop("action","${rc.contextPath}/bg/xcbdtj/qxxcbdtjExcel.html");
$("#shForm").submit();
$("#shForm").prop("action","${rc.contextPath}/bg/xcbdtj/qxxcbdtj.html");
}
}
</script>
3.控制层:前端请求到控制层中间这部分就不啰嗦了,继续看代码
* 导出
* @Description TODO
* @param request
* @param response
* @param ybd
* @return
* @throws UnsupportedEncodingException
* @author XuJD
* @date 2017-4-1
*/
public ModelAndView qxxcbdtjExcel(HttpServletRequest request,
HttpServletResponse response,YxYbdtj ybd) throws UnsupportedEncodingException{
Map<String,Object> modelMap = new HashMap<String,Object>();
List<YxYbdtj> resModel=xyCountAppService.getYbdList(ybd);
modelMap.put("resModel", resModel);
modelMap.put("pcId", ybd.getPcId());
modelMap.put("pcList", xyCountAppService.getPcList(null));
modelMap.put("sumList", xyCountAppService.getSumList(null));
response.setHeader("Expires", "0");
response.setHeader("Pragma" ,"public");
response.setHeader("Cache-Control","must-revalidate, post-check=0, pre-check=0");
response.setHeader("Cache-Control", "public");
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename="
+ new String((DateUtil.formatDateTime(DateUtil.DEFAULT_DATE_FROMAT)+"全校现场报到统计信息.xls").getBytes("UTF-8"),
"ISO8859_1"));
return new ModelAndView(qxxcbdtjExcelView).addAllObjects(modelMap);
}
注:视图qxxcbdtjExcelView是必须要set一下,否则找不到,而这个视图就是我们要导出的Excel表格模版,modelMap就是我们要填充进表格的数据
4.返回的视图(qxxcbdtjExcelView)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>全校现场报到统计Excel列表</title>
<style type="text/css">
td{
padding-top: 1px;
padding-right: 1px;
padding-left: 1px;
mso-ignore: padding;
color: black;
font-size: 11.0pt;
font-weight: 400;
font-style: normal;
text-decoration: none;
font-family: 宋体;
mso-generic-font-family: auto;
mso-font-charset: 134;
mso-number-format: "\@";
text-align: general;
vertical-align: middle;
mso-background-source: auto;
mso-pattern: auto;
white-space: nowrap;
text-align: center;
}
.center{text-align: center;}
</style>
</head>
<body>
<form id="form">
<table width="100%" border="1">
<thead>
<tr>
<th colspan="5" style="font-weight: bold;">全校现场报到统计Excel列表</th>
</tr>
<tr>
<th>学院</th>
<th>录取人数</th>
<th>现场已报到</th>
<th>现场未报到</th>
<th>现场报到率</th>
</tr>
</thead>
<tbody>
<#assign result= 1 />
<#list resModel as result>
<#assign result= 2 />
<tr class="emp">
<td>${result.xymc?default(0)}</td>
<td>${result.xydmCount?default(0)}</td>
<td>${result.xcbdNumCount?default(0)}</td>
<td>${result.sxcbdNumCount?default(0)}</td>
<td>${result.xcbdTate?default(0)}</td>
</tr>
</#list>
<#if result==2>
<#list sumList as s>
<tr class="emps" style="background: #fcfce2;" >
<td>总计</td>
<td>${s.allNum?default(0)}</td>
<td>${s.xcbdNumCountSum?default(0)}</td>
<td>${s.sxcbdNumCountSum?default(0)}</td>
<td>${s.xcbdTateSum?default(0)}</td>
</tr>
</#list>
</#if>
<#if result==1>
<tr>
<td colspan="5" class="table_tips_err">-- 无记录 --</td>
</tr>
</#if>
</table>
</form>
</body>
</html>