基于SpringBoot+POI实现的excel导入导出(适配版)(POI和HSSFWorkbook介绍)
写在前面:
根据本期文档安排,将于今天更新第一期:POI和HSSFWorkbook介绍
整理功能工期安排说明,请移步: 基于SpringBoot+POI实现的excel导入导出(适配版)(前言).
POI相关
简介
Apache POI是基于Office Open XML标准(OOXML)和Microsoft的OLE 2复合文档格式(OLE2)处理各种文件格式的开源项目。 简而言之,您可以使用Java读写MS Excel文件,可以使用Java读写MS Word和MS PowerPoint文件。
官网:点我跳转官网
maven依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
XSSFWorkbook相关
简介
在百度翻译中,给到翻译结果是 工作簿,就是咱们俗称的 excel
他在代码中的作用是:构建excel文件对象,写数据到excel中的前提,必不可少。
需要注意的是:
操作Excel文件区分版本:
2003版本(包含2003)以前的扩展名为.xls需要用HSSFWorkbook类操作
2007版本(包含2007)以后的扩展名为.xlsx需要用XSSFWorkbook类操作
本人以前是用的是HSSFWorkbook ,目前已经完成XSSFWorkbook的升级,XSSFWorkbook支持HSSFWorkbook所产生的文件格式。
常用属性介绍(只涉及到本工具类中使用的)
- 创建XSSFWorkbook
XSSFWorkbook wb = new XSSFWorkbook();
- 创建工作表
sheet= xssfWorkbook.createSheet();
- 设置sheet的边距
// 设置左边距
sheet.setMargin(XSSFSheet.LeftMargin, 1);
// 设置右边距
sheet.setMargin(XSSFSheet.RightMargin, 1);
// 设置上边距
sheet.setMargin(XSSFSheet.TopMargin, 1);
// 设置下边距
sheet.setMargin(XSSFSheet.BottomMargin, 1);
- 字体样式
// 设置字体
font.setFontName("宋体");
// 设置字号
font.setFontHeightInPoints((short) 11);
- 合并单元格
// 参数:起止行终止行起止列终止列
CellRangeAddress rangoin = new CellRangeAddress(2,2,8,9);
// 加入指定sheet
sheet.addMergedRegion(rangoin);
- 单元格样式demo
/**
* 单元格样式居中,边框
* @param wb
* @return
*/
public static CellStyle getTableStyle(Workbook wb){
// 创建单位格样式
CellStyle tableStyle=wb.createCellStyle();
tableStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中
tableStyle.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中
tableStyle.setBorderTop(BorderStyle.MEDIUM);//上边框
tableStyle.setBorderBottom(BorderStyle.MEDIUM);//下边框
tableStyle.setBorderLeft(BorderStyle.MEDIUM);//左边框
tableStyle.setBorderRight(BorderStyle.MEDIUM);//右边框
// 字体大小
Font font = wb.createFont();
short s = 10;
font.setFontHeightInPoints(s);
tableStyle.setFont(font);
return tableStyle;
}
以上就是本文中涉及到的单元格样式,基本常用的可能还有很多。
大部分都是随意组合,以最终达到目的为效果
其他
其他未涉及到的属性,欢迎大家整理。
写在最后
本期文章主要是从POI的大面 和导出使用的XSSFWorkbook been对象的属性两方面介绍了一些导出前期需要了解的内容,鉴于本人水平有限,如有写的不周之处,还望大佬指正。
谢谢观看,下期见。
下期更新的内容是:
导入实现的基本逻辑代码分析(9.12)
其他文章:
1. Validated校验在springboot框架中的应用(教程版).
2. PostgreSQL安装以及和mysql的对比.