不同格式的文件响应不同的链接类型.
XLSX文件格式的下载
response.setContentType("application/vnd.openxmlformats officedocument.spreadsheetml.sheet");
public static String export2Web4File(HttpServletResponse response, String path, String excelName) throws UnsupportedEncodingException {File file = new File(path.concat(excelName).concat(ExcelTypeEnum.XLSX.getValue()));if (!file.exists()) {return "文件不存在!";}response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");response.setCharacterEncoding("utf-8");// 这里URLEncoder.encode可以防止中文乱码excelName = URLEncoder.encode(excelName, "UTF-8");excelName = new String(new String(excelName + ExcelTypeEnum.XLSX.getValue()).getBytes(), "ISO8859-1");response.setHeader("Content-disposition", "attachment;filename=" + excelName);response.setHeader("Access-Control-Expose-Headers","Content-disposition");try (FileInputStream in = new FileInputStream(file);ServletOutputStream out = response.getOutputStream();) {IOUtils.copy(in, out);return "导出成功!";} catch (Exception e) {log.error("导出文件异常:", e);}return "导出失败!";}
XLS文件格式的下载
response.setContentType("application/vnd.ms-excel");
public static String export2Web4FileList(HttpServletResponse response, String path, String excelName,List data) throws UnsupportedEncodingException {File file = new File(path.concat(excelName).concat(ExcelTypeEnum.XLSX.getValue()));if (!file.exists()) {return "文件不存在!";}response.setContentType("application/vnd.ms-excel");response.setCharacterEncoding("utf-8");// 这里URLEncoder.encode可以防止中文乱码excelName = URLEncoder.encode(excelName, "UTF-8");excelName = new String(new String(excelName + ExcelTypeEnum.XLSX.getValue()).getBytes(), "ISO8859-1");response.setHeader("Content-disposition", "attachment;filename=" + excelName);response.setHeader("Access-Control-Expose-Headers","Content-disposition");try {ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(file.getPath()).build();WriteSheet writeSheet = EasyExcel.writerSheet().build();if (CollectionUtils.isNotEmpty(data)) {excelWriter.fill(data, writeSheet);}excelWriter.finish();return "导出成功!";} catch (Exception e) {log.error("导出文件异常:", e);}return "导出失败!";}