- 在项目中导入商品数据时需要提供一个商品的模板下载,在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);
}
}
该博客介绍了在Spring Boot项目中如何配置资源文件,确保在编译时将Excel模板包含进来。通过在pom.xml中添加build资源配置,可以确保模板文件被正确处理。同时,展示了如何实现一个下载Excel模板的接口,通过ClassPathResource读取静态文件并响应给客户端。如果缺少相应的配置,模板将无法在编译后找到。
3415

被折叠的 条评论
为什么被折叠?



