不能直接通过路径来获取
这个是一个下载导出文件的操作
java
@GetMapping(value = "/export/all")
public void exportAll(HttpServletResponse response, LaylineListReq req) throws IOException {
// 从类路径下获取 Excel 文件资源
ClassPathResource classPathResource = new ClassPathResource("template/放线表主数据导入系统模板_template.xlsx");
// 获取文件输入流
InputStream inputStream = classPathResource.getInputStream();
String fileName = "xxx"
fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
response.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx");
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
EasyExcel.write(response.getOutputStream())
.withTemplate(inputStream)
.sheet()
.doFill(list);
}
获取填充模版也需要先转换成 inputStream
,不能照着官方的写法读取文件,下面是官方的写法,可以对比一下
