前端调用:
function downExcel() {
window.location = __ctx + “/exportTmpl?fileName=SAMPlatformTmpl.xlsx”;
}
后台代码:
/**
* 导出(或下载模板)
* 文件存放路径为:main/resources/template/files/
* Build后路径为:main/webapp/WEB-INF/classes/template/files/
*
* @param response
* @param path 文件路径,默认 template/files/
* @param fileName 导出 excel 的文件名, 含后缀
* @throws Exception
*/
@RequestMapping("exportTmpl")
@ResponseBody
public void exportTmpl(HttpServletResponse response, String path, String fileName) throws Exception {
response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("utf-8"), "iso8859-1"));
response.setContentType("application/ynd.ms-excel;charset=UTF-8");
String filePath = StringUtil.isEmpty(path)?"template/files/":path;
InputStream is = getClass().getClassLoader().getResourceAsStream(filePath + fileName);
OutputStream out = response.getOutputStream();
byte[] b = new byte[1024];
int len;
while ((len = is.read(b)) != -1) {
out.write(b,0,len);
}
out.flush();
out.close();
is.close();
}```