easyexcel

excel quick build tools written in Java

License

License

GroupId

GroupId

com.gaoice
ArtifactId

ArtifactId

easyexcel
Last Version

Last Version

2.0
Release Date

Release Date

Type

Type

jar
Description

Description

easyexcel
excel quick build tools written in Java
Project URL

Project URL

https://github.com/gaoice/easyexcel
Source Code Management

Source Code Management

https://github.com/gaoice/easyexcel

Download easyexcel

How to add to project

<!-- https://jarcasting.com/artifacts/com.gaoice/easyexcel/ -->
<dependency>
    <groupId>com.gaoice</groupId>
    <artifactId>easyexcel</artifactId>
    <version>2.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.gaoice/easyexcel/
implementation 'com.gaoice:easyexcel:2.0'
// https://jarcasting.com/artifacts/com.gaoice/easyexcel/
implementation ("com.gaoice:easyexcel:2.0")
'com.gaoice:easyexcel:jar:2.0'
<dependency org="com.gaoice" name="easyexcel" rev="2.0">
  <artifact name="easyexcel" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.gaoice', module='easyexcel', version='2.0')
)
libraryDependencies += "com.gaoice" % "easyexcel" % "2.0"
[com.gaoice/easyexcel "2.0"]

Dependencies

compile (3)

Group / Artifact Type Version
org.apache.poi : poi jar 4.1.0
org.apache.poi : poi-ooxml jar 4.1.0
org.apache.commons : commons-lang3 jar 3.11

test (1)

Group / Artifact Type Version
junit : junit jar 4.13.1

Project Modules

There are no modules declared in this project.

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

Versions

Version
2.0
1.1
1.0