乐于分享
好东西不私藏

EasyExcelUtil,一个极简 Excel 操作的 Java 库!

EasyExcelUtil,一个极简 Excel 操作的 Java 库!

Excel 导入导出是 Java 开发中最常用、最刚需的功能:办公系统导出员工报表、电商系统导出订单数据、后台管理批量导入用户信息、财务对账 Excel 处理…… 几乎所有项目都离不开 Excel 操作。

传统 Java 使用 POI 操作 Excel,代码冗余、内存占用大,大批量数据容易 OOM;EasyExcel 虽好用,但配置繁琐、注解侵入性强,新手上手慢。EasyExcelUtil 基于阿里 EasyExcel 深度封装,零注解、零复杂配置、一行代码完成导入导出,完美解决日常 99% 的 Excel 操作需求,是后端程序员必备工具。

无论是企业项目、毕业设计,还是日常小工具,它都能让 Excel 处理变得简单高效。

一、库的简介(实际生活作用)

EasyExcelUtil 是一款简化 Java Excel 导入导出的轻量级工具库,完全贴合日常开发与生活场景:

  • 办公场景:员工信息导出、考勤报表生成、批量导入部门数据;
  • 电商场景:订单导出、商品批量导入、物流清单 Excel 生成;
  • 管理后台:用户数据导出、日志报表、批量数据修改;
  • 优势:不侵入实体类、低内存占用、支持大数据量、API 极简、开箱即用。

二、安装库

Maven 直接引入依赖,无需其他配置:

<dependency>    <groupId>com.alibaba</groupId>    <artifactId>easyexcel</artifactId>    <version>3.3.2</version></dependency>

三、基本用法(4 步快速上手)

核心工具类:EasyExcelUtil,静态方法调用,无需创建对象。

1. 简单导出(List 直接导出)

// 模拟数据List<User> userList = getUserList();// 一行导出ExcelEasyExcelUtil.export(response, "用户列表", userList, User.class);
2. 简单导入(上传文件直接解析)
// 上传文件解析为ListList<User> userList = EasyExcelUtil.importExcel(file, User.class);
3. 带表头导出(自定义文件名 + sheet 名)
EasyExcelUtil.export(response, "员工信息表""员工数据", userList, User.class);
4. 导入并校验(非空、格式自动判断)
ImportResult<User> result = EasyExcelUtil.importAndValidate(file, User.class);List<User> successList = result.getSuccessList();List<String> errorMsg = result.getErrorMsg();

四、高级用法

支持大数据量导出动态表头合并单元格自定义样式多 sheet 导出

// 1. 大数据量分批次导出(10万条无压力)EasyExcelUtil.exportBigData(response, "大数据报表", User.class, userList);// 2. 多Sheet导出Map<String, List<?>> sheetMap = new HashMap<>();sheetMap.put("用户列表", userList);sheetMap.put("订单列表", orderList);EasyExcelUtil.exportMultiSheet(response, "综合报表", sheetMap);// 3. 自定义样式(标题居中、字体加粗)EasyExcelUtil.exportWithStyle(response, "样式报表", userList, User.class);

五、实际应用场景

1. 员工信息批量导入

@PostMapping("/importUser")public Result importUser(MultipartFile file) {    List<User> userList = EasyExcelUtil.importExcel(file, User.class);    userService.saveBatch(userList);    return Result.success("导入成功");}
2. 深度案例:订单导出(高频企业场景)
@GetMapping("/exportOrder")public void exportOrder(HttpServletResponse response, String startTime, String endTime) {    // 1. 查询订单数据    List<Order> orderList = orderService.getOrderList(startTime, endTime);    // 2. 一行导出,自动设置ContentType、文件名    EasyExcelUtil.export(response, "订单数据", orderList, Order.class);}

EasyExcelUtil 真正做到了极简、实用、无侵入,它把原生 EasyExcel 复杂的监听器、配置、注解全部封装,让 Excel 导入导出变成一行代码的事。相比原生 POI,它不会 OOM;相比原生 EasyExcel,它不用写多余配置,新手也能直接上手。日常开发中,它能大幅减少冗余代码,提升开发效率,是 Java 后端最实用的工具库之一。

你在项目中最常做哪种 Excel 操作?简单导出、批量导入、大数据量处理,还是复杂样式?欢迎在评论区留言,我会用最简洁的代码帮你实现!