FastExcel 本地开发和Linux上上传Resource文件的差异性
不能直接通过路径来获取
这个是一个下载导出文件的操作
@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
,不能照着官方的写法读取文件,下面是官方的写法,可以对比一下