SpringBoot集成poi实现xlsx导入导出
Apache POI
Apache POI是基于Office Open XML标准(OOXML)和Microsoft的OLE 2复合文档格式(OLE2)处理各种文件格式的开源项目。简单来说就是它可以通过Java程序读写Excel。
模块
HSSF - 提供读写Microsoft Excel XLS格式(Microsoft Excel 97 (-2003))档案的功能。
XSSF - 提供读写Microsoft Excel OOXML XLSX格式(Microsoft Excel XML (2007+))档案的功能。
SXSSF - 提供低内存占用量读写Microsoft Excel OOXML XLSX格式档案的功能。
HWPF - 提供读写Microsoft Word DOC97格式(Microsoft Word 97 (-2003))档案的功能。
XWPF - 提供读写Microsoft Word DOC2003格式(WordprocessingML (2007+))档案的功能。
HSLF/XSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF/XDGF - 提供读Microsoft Visio格式档案的功能。
HPBF - 提供读Microsoft Publisher格式档案的功能。
HSMF - 提供读Microsoft Outlook格式档案的功能。
本篇文章主要介绍XSSF(表格)导入导出, 工作中最常使用到的
(本篇demo技术架构:SpringBoot + Swagger + MyBatis-Plus)
- pom文件引入poi依赖
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.0.0</version>
</dependency>
- 本篇文章用到的表
create table boot_user
(
user_id int auto_increment comment '用户ID' primary key,
user_name varchar(32) null comment '用户名',
user_sex int default 0 null comment '性别(0:男,1:女)',
user_age int null comment '年龄',
user_password varchar(32) null comment '密码',
user_status int default 0 null comment '状态(0:启用,1禁用)'
)
comment '用户表';
- 导出工具类
/**
* 导出工具类
* @Author: CTW
* @Date: create in 2021/7/24
*/
public class ExportUtils {
public static void ExportBootUser(HttpServletResponse response, String sheetName, String[] title, List<BootUser> bootUserList) {
//新建文档实例
XSSFWorkbook workbook = new XSSFWorkbook();
//在文档中添加表单
XSSFSheet sheet = workbook.createSheet(sheetName);
//创建单元格格式,并设置居中
XSSFCellStyle style = workbook.createCellStyle();
XSSFCellStyle style2 = workbook.createCellStyle();
style.setAlignment(HorizontalAlignment.CENTER);
style2.setAlignment(HorizontalAlignment.CENTER);
//标题边框
//下边框
style.setBorderBottom(BorderStyle.THICK);
//左边框
style.setBorderLeft(BorderStyle.THICK);
//右边框
style.setBorderRight(BorderStyle.THICK);
//上边框
style.setBorderTop(BorderStyle.THICK);
//普通边框
//下边框
style2.set