java导出excel 提示文件格式或文件扩展名有误 |
您所在的位置:网站首页 › excel打开文件无内容 › java导出excel 提示文件格式或文件扩展名有误 |
不同格式的文件响应不同的链接类型. 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 |