gaoice/easyexcel
Fork: 7 Star: 8 (更新于 1970-01-01 00:00:00)
license: Apache-2.0
Language: Java .
几行代码快速生成/读取 Excel 文件,非侵入式设计
最后发布版本: v1.0 ( 2020-02-19 11:48:16)
easyexcel
概述
采用极简设计的 Excel 生成和读取工具,几行代码即可把 List
集合生成为 Excel 或者从 Excel 读取为 List
集合。
使用
Maven
<dependency>
<groupId>com.gaoice</groupId>
<artifactId>easyexcel</artifactId>
<version>2.0</version>
</dependency>
Starter
现在可以在 Spring Boot 中快速使用:easyexcel-spring-boot-starter
新版本
- v 2.0,支持 Excel 的读取,详见 ExcelReaderTests.java
示例
实体类:
Student{name, idcard, gender, ...}
写 Excel
生成 SXSSFWorkbook
:
String[] classFieldNames = {"name", "idcard", "gender", ...};
SXSSFWorkbook workbook = ExcelWriter.createWorkbook(new SheetInfo(classFieldNames, studentList));
web 下直接写入 HttpServletResponse
的 OutputStream
中:
ExcelWriter.writeOutputStream(new SheetInfo(classFieldNames, studentList), response.getOutputStream());
如果 gender 字段是int类型的,我们可以为 gender 字段添加一个 FieldValueConverter
(Lambda表达式)在构建 Excel 时转换为中文:
sheetInfo.putFieldHandler("gender", (FieldValueConverter<Integer>) value ->
value == null ? null : value.equals(1) ? "男生" : "女生");
完整的使用方法示例详见 ExcelWriterTests.java 。
读 Excel
简单的读取为 List<Map>
:
List<Map<Integer, Object>> result = ExcelReader.parseList("example.xlsx");
映射为 List<Student>
:
BeanConfig<Student> beanConfig = new BeanConfig<Student>().setTargetClass(Student.class)
.setFieldNames(new String[]{"name", "idcard", "gender", ...});
List<Student> result = ExcelReader.parseList("example.xlsx", beanConfig);
为 gender 字段设置转换器,把中文映射为实体类的 Integer
类型:
beanConfig.putConverter("gender", context ->
context.getStringValue() == null ? null : ("男生".equals(context.getStringValue()) ? 1 : 0));
完整的使用方法示例详见 ExcelReaderTests.java 。
最近版本更新:(数据更新于 1970-01-01 00:00:00)
2020-02-19 11:48:16 v1.0
gaoice/easyexcel同语言 Java最近更新仓库
2024-12-20 19:54:15 mybatis-flex/mybatis-flex
2024-12-19 21:53:46 spring-projects/spring-boot
2024-12-19 21:25:16 Stirling-Tools/Stirling-PDF
2024-12-19 16:28:14 Tornaco/Thanox
2024-12-19 10:42:01 alibaba/nacos
2024-12-18 20:58:34 dromara/forest