利用poi导出excel
简介
ApachePOI是用Java编写的免费开源的跨平台的JavaAPI,ApachePOI提供API给Java程序对MicrosoftOffice格式档案读和写的功能,其中使用最多的就是使用POI操作Excel文件。
组件介绍:
-
HSSF: 提供读写Excel格式档案的功能(.xls后缀);
-
XSSF:提供读写OOXML格式档案功能(.xlsx后缀的Excel);
-
HWPF(.doc后缀)/ XWPF(.docx后缀):提供读写word格式档案功能 ;
-
HSLF: powerpoint格式档案的功能;
-
HDGF:读写viso格式档案的功能
jar包种类:
-
org.apache.poi:POIFS HPSF HSSF;
-
poi-scratchpad:HSLF HWPF HDGF HPBF HSMF;
-
poi-ooxml:XSSF XSLF;
-
poi-ooxml-schemas:OpenXML4j
具体使用
基本用法
// 获取excel模板文件 ClassPathResource cpr = new ClassPathResource( configuration.getTemplateFileName(), this.getClass().getClassLoader()); InputStream inp = cpr.getInputStream(); // 获取sheet Workbook wb = WorkbookFactory.create(inp); Sheet sheet = wb.getSheet(configuration.getSheetName()); Cell cell = sheet.getRow(1).getCell(0); // 获取行列索引为(1,0)的cell row.createCell(j).setCellValue("hello you!"); // 设置cell里面的值 //设置cell格式 CellStyle cellStyle = cell.getCellStyle(); row.getCell(j).setCellStyle(cellStyle);
插入图片
Drawing<?> patriarch = sheet.createDrawingPatriarch(); // anchor主要用于设置图片的属性 XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, (short) columnIndexStart, rawIndexStart, (short) columnIndexEnd, rawIndexEnd); anchor.setAnchorType(ClientAnchor.AnchorType.MOVE_DONT_RESIZE); // 插入图片 patriarch.createPicture(anchor, wb.addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_PNG));
合并单元格
sheet.addMergedRegion(new CellRangeAddress(sameStartRow, sameEndRow, sameStartColumn, SameEndColumn));