- 在项目中导入商品数据时需要提供一个商品的模板下载,在resources目录中存放模板
- 需要在pom.xml中添加build
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
如果没有添加会导致编译的时候不会把Excel编译到classes目录中
@GetMapping("/downloadTemplete")
public void downloadTemplete(HttpServletResponse response) throws UnsupportedEncodingException {
response.setContentType("application/application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("Content-Disposition",
"attachment;filename=" + URLEncoder.encode("设备导入模板", "UTF-8") + ".xlsx");
response.setHeader("Access-Control-Expose-Headers", "Content-disposition");
try {
Resource resource = new ClassPathResource("excel/template.xlsx"); //静态文件位置
InputStream inputStream = resource.getInputStream();
byte[] buffer = new byte[inputStream.available()]; //问题所在
inputStream.read(buffer);
inputStream.close();
OutputStream outputStream = new BufferedOutputStream(response.getOutputStream());
outputStream.write(buffer);
outputStream.flush();
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
response.setStatus(404);
}
}