controller中
@RequestMapping("/exportExcel1.jhtml")
public String exportExcel1(HttpServletRequest req, HttpServletResponse resp,
HttpSession session, DataArea dataArea, ModelMap modelMap) {
try {
List<DataArea> list = dataAreaService.list(dataArea);
modelMap.put("list", list);
// 使用xml模板導出
String exlName = "地域投放表.xls";
resp.addHeader("Content-Disposition", "attachment; filename="
+ new String(exlName.getBytes("GBK"), "ISO8859-1"));
resp.setContentType("application/vnd.ms-excel;charset=UTF-8");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "data/dataArea/export1.xml";
}
*.xml.jsp
<%@page contentType="text/html;charset=utf-8" language="java"%>
<%@page isELIgnored="false"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@taglib prefix="afocus" uri="http://www.afocus.com.cn/jsp/core"%>
<?xml version="1.0"?>
<ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<ss:Worksheet ss:Name="Sheet1">
<ss:Table>
<ss:Column ss:Width="50"/>
<ss:Column ss:Width="80"/>
<ss:Column ss:Width="80"/>
<ss:Column ss:Width="80"/>
<ss:Column ss:Width="50"/>
<ss:Column ss:Width="100"/>
<ss:Row>
<ss:Cell>
<ss:Data ss:Type="String">序號</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">投放渠道</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">類別</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">省份</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">指數</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">時間</ss:Data>
</ss:Cell>
</ss:Row>
<c:forEach items="${list}" var="dataArea" varStatus="s">
<ss:Row>
<ss:Cell>
<ss:Data ss:Type="Number">${s.index+1}</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">${dataArea.platformName}</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">${dataArea.categoryName}</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">${dataArea.province}</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="Number">${dataArea.indexNum}</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String"><fmt:formatDate type="date" value="${dataArea.date}"
pattern="yyyy-MM-dd" /></ss:Data>
</ss:Cell>
</ss:Row>
</c:forEach>
</ss:Table>
</ss:Worksheet>
</ss:Workbook>
若是應用了tiles 或sitematch等模板 要過濾掉
<excludes>
<pattern>/*/*dataArea/exportExcel1.jhtml*</pattern>
<pattern>/*/*/*dataArea/exportExcel1.jhtml*</pattern>
</excludes>
注意此處jhtml後要加* ,否則不能正常導出