SpringBoot中使用 POI的示例代码
作者:大胖东
这篇文章主要介绍了SpringBoot中使用POI的实例详解,包括引入poi的jar包和创建excel的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
POI简介
Jakarta POI 是一套用于访问微软格式文档的Java API.
组件HWPF用于操作Word的;
组件HSSF用于操作Excel格式文件.
Excel的两种形式
demo.xls
- demo.xls
为Excel2003的格式,其核心结构是复合文档类型的结构,存储数据量较小。在POI中使用HSSF对象操作。
- demo.xlsx
为Excel2007的格式,其核心结构是 XML 类型的结构,采用的是基于 XML 的压缩方式,使其占用的空间更小,操作效率更高 。在POI中使用XSSF或SXSSF对象操作。
引入POI的jar包
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>RELEASE</version> </dependency> <!--POI--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.2.2</version> </dependency>
前者用于引入HSSFWorkbook;后者用于引入XSSFWorkbook
创建Excel
1.创建workbook工作簿 Workbook wb = new XSSFWorkbook(); 2.创建表单Sheet Sheet sheet = wb.createSheet("test"); 3.文件流 FileOutputStream fos = new FileOutputStream("E:\\test.xlsx"); 4.写入文件 wb.write(fos); 5.关闭 fos.close();
创建单元格
public static void main(String[] args) throws IOException { // 1.创建workbook工作簿 Workbook wb = new XSSFWorkbook(); // 2.创建表单Sheet Sheet sheet = wb.createSheet("test的sheet"); // 3.创建行对象,从0开始 Row row = sheet.createRow(0); // 4.创建单元格,从0开始 Cell cell = row.createCell(0); // 5.单元格写入数据 cell.setCellValue("以往有人这样说过:“不要因为一件事的终止而感到悲伤,因为终点就是起点,它将为你开拓一个更广阔的世界。”……123"); // 6.XSSFCellStyle设置单元格样式 CellStyle cellStyle = wb.createCellStyle(); cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); // 设置背景颜色 cellStyle.setFillForegroundColor((short)3); cell.setCellStyle(cellStyle); Sheet sheet2 = wb.getSheet("test的sheet"); Row row2 = sheet2.getRow(0); Cell cell2 = row2.getCell(0); String stringCellValue = cell2.getStringCellValue(); System.out.println(stringCellValue); // 7.文件流 FileOutputStream fos = new FileOutputStream("E:\\test.xlsx"); // 8.写入文件 wb.write(fos); // 9.关闭 wb.close(); fos.close(); }
设置格式(样式) 创建单元格样式对象
CellStyle cellStyle = wb.createCellStyle();
居中
cellStyle.setAlignment(HorizontalAlignment.CENTER);
设置边框
cellStyle.setBorderTop(BorderStyle.THIN); cellStyle.setBorderRight(BorderStyle.THIN); cellStyle.setBorderBottom(BorderStyle.THIN); cellStyle.setBorderLeft(BorderStyle.THIN);
设置字体颜色
Font font = workbook.createFont(); font.setColor(Font.COLOR_RED); //红色 cellStyle.setFont(font);
合并单元格
//firstRow第一行 //lastRow最后一行 //firstCol第一列 //lastCol最后一列 CellRangeAddress cellRangeAddress = new CellRangeAddress(2, 2, 0, 11); sheet.addMergedRegion(cellRangeAddress);//合并单元格
为合并的单元格+边框
//边框样式 //合并的单元格 //创建的表单Sheet RegionUtil.setBorderTop(BorderStyle.THIN, cellRangeAddress, sheet); RegionUtil.setBorderRight(BorderStyle.THIN, cellRangeAddress, sheet); RegionUtil.setBorderBottom(BorderStyle.THIN, cellRangeAddress, sheet); RegionUtil.setBorderLeft(BorderStyle.THIN, cellRangeAddress, sheet);
自动调整列宽
//列号 sheet.autoSizeColumn(1);
到此这篇关于SpringBoot中使用 POI的文章就介绍到这了,更多相关SpringBoot使用 POI内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- SpringBoot EasyPoi动态导入导出的两种方式实现方法详解
- SpringBoot如何基于POI-tl和word模板导出庞大的Word文件
- SpringBoot集成POI实现Excel导入导出的示例详解
- SpringBoot AOP @Pointcut切入点表达式排除某些类方式
- springboot aop里的@Pointcut()的配置方式
- springboot中EasyPoi实现自动新增序号的方法
- 浅谈springboot之JoinPoint的getSignature方法
- SpringBoot中使用JeecgBoot的Autopoi导出Excel的方法步骤
- springboot中poi使用操作方法