MyGit

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)

GitHub网址

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

新版本

示例

实体类:

Student{name, idcard, gender, ...}

写 Excel

生成 SXSSFWorkbook

String[] classFieldNames = {"name", "idcard", "gender", ...};
SXSSFWorkbook workbook = ExcelWriter.createWorkbook(new SheetInfo(classFieldNames, studentList));

web 下直接写入 HttpServletResponseOutputStream 中:

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-11-21 20:32:01 spring-projects/spring-boot

2024-11-21 09:44:43 Card-Forge/forge

2024-11-20 14:38:43 StarRocks/starrocks

2024-11-19 23:42:52 spring-projects/spring-authorization-server

2024-11-18 21:40:12 4379711/lol-helper

2024-11-16 22:50:41 xuxueli/xxl-job