easyexcel读取excel的每一行
时间: 2023-09-09 22:07:20 浏览: 154
可以使用 EasyExcel 提供的监听器 `AnalysisEventListener` 来读取 Excel 文件的每一行数据,具体实现代码如下:
```java
public class ExcelListener extends AnalysisEventListener<DataRow> {
private List<DataRow> dataList = new ArrayList<>();
@Override
public void invoke(DataRow data, AnalysisContext context) {
// 每读取一行数据就会执行一次invoke方法
dataList.add(data);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
// 所有数据读取完毕后会执行doAfterAllAnalysed方法
// 可以在这里对数据进行处理或者保存到数据库等操作
}
public List<DataRow> getDataList() {
return dataList;
}
}
```
在这个监听器中,我们使用 `invoke` 方法来处理每一行数据,使用 `doAfterAllAnalysed` 方法来处理所有数据读取完毕后的操作。同时,我们定义了一个 `dataList` 来保存读取到的每一行数据。
然后,在读取 Excel 文件时,我们只需要将这个监听器传递给 EasyExcel 并调用其 `read` 方法即可:
```java
ExcelListener listener = new ExcelListener();
EasyExcel.read(new File("test.xlsx"), DataRow.class, listener).sheet().doRead();
List<DataRow> dataList = listener.getDataList();
```
需要注意的是,这里的 `DataRow.class` 是自定义的实体类,用于保存每一行数据的具体内容。你需要根据 Excel 文件的具体内容来定义该实体类的属性。