easyExcel

easyExcel

EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。
他能让你在不用考虑性能、内存的等因素的情况下,快速完成Excel的读、写等功能。

关于Easyexcel | Easy Excel (alibaba.com)

写入

  • 导入依赖

    1
    2
    3
    4
    5
    <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>2.1.1</version>
    </dependency>
  • 在实体类的属性上添加注解,设置Excel表表头信息

    1
    2
    3
    4
    5
    6
    7
    8
    9
    @Data
    public class UserData {

    @ExcelProperty("用户编号")
    private int uid;

    @ExcelProperty("用户名称")
    private String username;
    }
  • 写入内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public class testWrite {
    public static void main(String[] args) {
    // 文件路径
    String fileName = "F:\\excel\\01.xlsx";

    // 要写入的内容
    ArrayList<UserData> list = new ArrayList<>();
    for (int i = 0; i < 10; ++i) {
    list.add(new UserData(i, "name" + i));
    }

    // 写入excel表
    EasyExcel.write(fileName, UserData.class)
    .sheet("用户信息") // excel表表名
    .doWrite(list);

    }
    }

读出

  • 实体类上要添加相对应的列号

    1
    2
    3
    4
    5
    @ExcelProperty(value = "用户编号", index = 0)
    private int uid;

    @ExcelProperty(value = "用户名称", index = 1)
    private String username;
  • 编写监听方法,当读取excel时会执行此监听方法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    public class ExcelListener extends AnalysisEventListener<UserData> {

    // 一行行读取excel内容,从第二行开始读取
    @Override
    public void invoke(UserData userData, AnalysisContext analysisContext) {
    System.out.println(userData);
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {

    }

    // 读取表头信息
    @Override
    public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
    System.out.println(headMap);
    }
    }
  • 读出内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class TestRead {
    public static void main(String[] args) {
    String fileName = "F:\\excel\\01.xlsx";

    EasyExcel.read(fileName,
    UserData.class,
    new ExcelListener()).sheet().doRead();
    }
    }


easyExcel
http://xwww12.github.io/2022/10/14/其他/easyExcel/
作者
xw
发布于
2022年10月14日
许可协议