话不多说,直接上代码!
@ResponseBody
@RequestMapping(value="/newDownLoadExcel",method = RequestMethod.POST)
public void getApplicationTemplate(HttpServletRequest req, HttpServletResponse res) {
try {
//获取要下载的模板名称
String fileName = "execlTemplate.xlsx";
//设置要下载的文件的名称
res.setHeader("Content-disposition", "attachment;fileName=" + fileName);
//通知客服文件的MIME类型
res.setContentType("application/vnd.ms-excel;charset=UTF-8");
//获取文件的路径
String filePath = getClass().getResource("/excel/" + fileName).getPath();
FileInputStream input = new FileInputStream(filePath);
OutputStream out = res.getOutputStream();
byte[] b = new byte[2048];
int len;
while ((len = input.read(b)) != -1) {
out.write(b, 0, len);
}
//修正 Excel在“xxx.xlsx”中发现不可读取的内容。是否恢复此工作薄的内容?如果信任此工作簿的来源,请点击"是"
res.setHeader("Content-Length", String.valueOf(input.getChannel().size()));
input.close();
} catch (Exception ex) {
log.error("getApplicationTemplate :", ex);
}
}