EasyExcel简单使用

200 阅读2分钟

EasyExcel 是一个基于 Java 的简单、高效的 Excel 文件处理库,它提供了读取和写入 Excel 文件的功能,同时支持 .xlsx.xls 格式。EasyExcel 通过使用流的方式处理 Excel 文件,可以在处理大量数据时显著减少内存消耗。

以下是 EasyExcel 的基本使用方法:

添加依赖

首先,在项目的 pom.xml 文件中添加 EasyExcel 的依赖:

<dependencies>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>easyexcel</artifactId>
        <version>你的EasyExcel版本</version>
    </dependency>
</dependencies>

写入 Excel 文件

import com.alibaba.excel.EasyExcel;

// 定义数据模型
public class DataModel {
    private String name;
    private Integer age;
    // 省略 getter 和 setter 方法
}

// 写入 Excel 文件
String fileName = "example.xlsx";
List<DataModel> data = ...; // 填充数据

EasyExcel.write(fileName, DataModel.class)
        .sheet("Sheet1")
        .doWrite(data);

在这个例子中,我们定义了一个名为 DataModel 的数据模型类,其中包含 nameage 属性。然后,我们使用 EasyExcel.write() 方法创建一个写入器,指定文件名、数据模型类和要写入的数据列表,最后调用 doWrite() 方法将数据写入 Excel 文件。

读取 Excel 文件

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;

// 读取监听器
public class DataModelListener extends AnalysisEventListener<DataModel> {
    @Override
    public void invoke(DataModel data, AnalysisContext context) {
        // 处理读取到的数据
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        // 所有数据解析完成后的操作
    }
}

// 读取 Excel 文件
String fileName = "example.xlsx";
EasyExcel.read(fileName, DataModel.class, new DataModelListener())
        .sheet("Sheet1")
        .doRead();

在这个例子中,我们创建了一个名为 DataModelListener 的读取监听器类,它继承自 AnalysisEventListener。监听器中的 invoke() 方法会在读取到每一行数据时被调用。然后,我们使用 EasyExcel.read() 方法创建一个读取器,指定文件名、数据模型类和读取监听器,最后调用 doRead() 方法读取 Excel 文件。

请注意,这些代码示例仅提供了 EasyExcel 最基本的使用方法。EasyExcel 还支持许多高级功能,如自定义样式、合并单元格、公式计算、异步读写等。你可以根据自己的需求查阅 EasyExcel 的官方文档以了解更多信息。