java导出excel 提示文件格式或文件扩展名有误

您所在的位置:网站首页 excel打开文件无内容 java导出excel 提示文件格式或文件扩展名有误

java导出excel 提示文件格式或文件扩展名有误

2023-08-11 19:37| 来源: 网络整理| 查看: 265

不同格式的文件响应不同的链接类型.

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 "导出失败!"; }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3