利用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));

 

posted @ 2022-01-05 22:26  Hyacinth-Yuan  阅读(484)  评论(0编辑  收藏  举报