关于JAVA 用POI 通过EXCEL模板 导出Excel
2016-09-14 10:59
851 查看
之前写过通过 《关于JAVA 用POI 导出Excel》,下面写关于通过excel模板导出excel的方法。至于准备工作这里面就很简单,JAR包和上面的一样。文件代码也很少,本人觉得这个事非常简单的导出EXCEL,通过excel模板导出的样式可以和要求的模板样式基本上一直。需要改进的地方,可以自己设置一下excel样式。
代码如下:
代码如下:
try { File fi = new File(request.getSession().getServletContext().getRealPath("/") + "WEB-INF/excel/excel.xls"); POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(fi)); String excelName = fi.getName(); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFSheet sheet = wb.getSheetAt(0); HSSFCell cell4Row2Col = null; HSSFCell cell4Row3Col = null; HSSFCellStyle cellStyle = this.getBodyStyle(wb); List> listData = new ArrayList>(); listData = excelService.queryExcelDate(); for (int i = 0; i < listData.size(); i++) { Map map = (Map) listData.get(i); HSSFRow bodyRow = sheet.createRow(4 + i); cell4Row2Col = bodyRow.createCell(2); cell4Row2Col = sheet.getRow(4 + i).getCell(2); cell4Row2Col.setCellStyle(cellStyle); cell4Row2Col.setCellValue(map.get("ID").toString()); cell4Row2Col = bodyRow.createCell(3); cell4Row3Col = sheet.getRow(4 + i).getCell(3); cell4Row3Col.setCellStyle(cellStyle); cell4Row3Col.setCellValue(map.get("MONEY").toString()); } response.setContentType("application/binary;charset=ISO8859_1"); // String fileName = new String(("最外层EXCEL文件名").getBytes(), "ISO8859_1"); // response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xls"); response.setHeader("Content-disposition", "attachment; filename=" + excelName); ServletOutputStream outputStream = response.getOutputStream(); // FileOutputStream out = new FileOutputStream("D:/"+excelName); wb.write(outputStream); outputStream.close(); } catch (IOException e) { e.printStackTrace(); } public HSSFCellStyle getBodyStyle(HSSFWorkbook wb) { // 创建单元格样式 HSSFCellStyle cellStyle = wb.createCellStyle(); // 设置单元格的背景颜色为淡蓝色 // cellStyle.setFillForegroundColor(HSSFColor.PALE_BLUE.index); // cellStyle.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND); // 设置单元格居中对齐 // 设置单元格内容水平对其方式 // XSSFCellStyle.ALIGN_CENTER 居中对齐 // XSSFCellStyle.ALIGN_LEFT 左对齐 // XSSFCellStyle.ALIGN_RIGHT 右对齐 cellStyle.setAlignment(XSSFCellStyle.ALIGN_CENTER); // 设置单元格垂直居中对齐 // 设置单元格内容垂直对其方式 // XSSFCellStyle.VERTICAL_TOP 上对齐 // XSSFCellStyle.VERTICAL_CENTER 中对齐 // XSSFCellStyle.VERTICAL_BOTTOM 下对齐 cellStyle.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER); // 创建单元格内容显示不下时自动换行 cellStyle.setWrapText(true); // 设置单元格字体样式 HSSFFont font = wb.createFont(); // 设置字体加粗 font.setBoldweight(XSSFFont.BOLDWEIGHT_NORMAL); font.setFontName("宋体"); font.setFontHeight((short) 200); cellStyle.setFont(font); // 设置单元格边框为细线条 // 设置单元格边框样式 // CellStyle.BORDER_DOUBLE 双边线 // CellStyle.BORDER_THIN 细边线 // CellStyle.BORDER_MEDIUM 中等边线 // CellStyle.BORDER_DASHED 虚线边线 // CellStyle.BORDER_HAIR 小圆点虚线边线 // CellStyle.BORDER_THICK 粗边线 cellStyle.setBorderLeft(XSSFCellStyle.BORDER_THIN); cellStyle.setBorderBottom(XSSFCellStyle.BORDER_THIN); cellStyle.setBorderRight(XSSFCellStyle.BORDER_THIN); cellStyle.setBorderTop(XSSFCellStyle.BORDER_THIN); return cellStyle; }
相关文章推荐
- 关于JAVA 用POI 通过EXCEL模板 导出Excel
- java poi 通过excel模板导出并且生成多个sheet
- java poi 通过excel模板导出并且生成多个sheet
- java通过POI技术操作Excel(1)----模板导出
- java通过poi模板导出excel
- java poi 通过excel模板导出并且生成多个sheet
- java poi 通过excel模板导出并且生成多个sheet
- java利用POI通过模板导出excel的一个实例
- 关于java poi导入导出excel的包冲突问题
- Java通过POI技术操作Excel(3)----数据导出
- POI下JAVA导出基于模板的Excel
- java通过poi导出excel和pdf
- java操作Excel之POI(5)利用POI实现使用模板批量导出数据
- Java实现通过poi把数据查出来放在模板Excel中并作为附件发送邮件
- java-导入到Excel_POI根据模板(excel表头)导出excel
- POI通过模板导出EXCEL文件的实例
- java学习之--导入导出excel文件 通过poi
- java 通过模板导出excel
- java中使用poi导出数据到EXCEL模板中。
- 关于Java Web 使用 POI 将 数据库表 导出 Excel 的完整实例