//单元格设置边框以及文本内容水平垂直居中 private static CellStyle getCellStyle(Workbook workbook) { //设置边框样式 CellStyle style = workbook.createCellStyle(); style.setBorderBottom(BorderStyle.THIN); style.setBorderLeft(BorderStyle.THIN); style.setBorderRight(BorderStyle.THIN); style.setBorderTop(BorderStyle.THIN); style.setAlignment(HorizontalAlignment.CENTER); // 设置水平居中 style.setVerticalAlignment(VerticalAlignment.CENTER); // 设置垂直居中 return style; } //下载excel private static void downLoadExcel(HttpServletResponse response, String fileName, Workbook workbook) throws IOException { //设置了响应内容的类型为 Excel 文件,具体来说是 Office Open XML 格式的电子表格文件,即 .xlsx 格式的文件。 response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); //这一行代码设置了响应头中 Content-Disposition 属性的值。通过设置为 "attachment",浏览器会提示用户下载这个文件,而不是在浏览器中直接打开。 // 同时,通过指定 filename 参数并使用 URLEncoder.encode 方法对文件名进行编码,可以确保文件名中包含特殊字符或中文时能够正确显示在浏览器下载提示框中。 response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8")); ServletOutputStream outputStream = response.getOutputStream(); workbook.write(outputStream); outputStream.close(); } //为单元格设置字体大小,以及单元格边框 private static CellStyle creatCommonStyle(Workbook wb, int fontHeight, boolean fontBold, boolean leftRightCenter){ Font font = wb.createFont(); font.setFontName("宋体"); font.setFontHeightInPoints((short) fontHeight); font.setBold(fontBold); CellStyle tittleStyle = wb.createCellStyle(); if (leftRightCenter) { tittleStyle.setAlignment(HorizontalAlignment.CENTER);// 左右居中 }else { tittleStyle.setAlignment(HorizontalAlignment.LEFT);// 靠左 } tittleStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 上下居中 tittleStyle.setLocked(true); tittleStyle.setWrapText(true); tittleStyle.setFont(font); tittleStyle.setBorderBottom(BorderStyle.THIN); tittleStyle.setBorderLeft(BorderStyle.THIN); tittleStyle.setBorderRight(BorderStyle.THIN); tittleStyle.setBorderTop(BorderStyle.THIN); return tittleStyle; }
数据导出到excel工具类
最新推荐文章于 2024-09-11 13:26:42 发布