代码:
@RequestMapping("/XZmb")
public void downloadExcel(HttpServletResponse response,HttpServletRequest request) {
//方法一:直接下载路径下的文件模板
try {
//获取要下载的模板名称
String fileName = "muban.xlsx";
response.setContentType("application/octet-stream");
//设置要下载的文件的名称
response.setHeader("Content-disposition", "attachment;fileName=" + fileName);
//获取文件的路径
String filePath = getClass().getResource("/template/" + fileName).getPath();
FileInputStream input = new FileInputStream(filePath);
OutputStream out = response.getOutputStream();
byte[] b = new byte[1024];
int len;
while ((len = input.read(b)) != -1) {
out.write(b, 0, len);
}
//修正 Excel在“xxx.xlsx”中发现不可读取的内容。是否恢复此工作薄的内容?如果信任此工作簿的来源,请点击"是"
// response.setHeader("Content-Length", String.valueOf(input.getChannel().size()));
input.close();
//return Response.ok("应用导入模板下载完成");
} catch (Exception ex) {
System.out.println(ex);
//return Response.ok("应用导入模板下载失败!");
}
}
会出现的问题:
xlsx无法打开
解决办法 :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<version>2.6</version>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>