easyexcel读取指定行并返回java集合
时间: 2023-08-21 22:05:47 浏览: 538
在 EasyExcel 中,可以使用 `read()` 方法读取指定行的数据,并将其转换成 Java 集合对象。我们可以通过实现 `AnalysisEventListener` 接口来处理读取到的数据,并将其添加到 Java 集合中。
以下是一个读取第 3 行数据并返回 Java 集合的示例代码:
```java
public class UserListener extends AnalysisEventListener<User> {
private List<User> userList = new ArrayList<>();
@Override
public void invoke(User data, AnalysisContext context) {
// 读取第 3 行数据及其后面的数据
if (context.readRowHolder().getRowIndex() >= 2) {
// 添加到 Java 集合中
userList.add(data);
}
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
// 处理完所有数据后的操作
}
public List<User> getUserList() {
return userList;
}
}
```
在上面的代码中,我们实现了 `AnalysisEventListener` 接口,并重写了其中的 `invoke()` 方法。在 `invoke()` 方法中,我们使用 `context.readRowHolder().getRowIndex()` 方法获取当前读取的行号,当行号大于等于 2 时,表示读取到了第 3 行及其后面的数据。此时,我们将读取到的数据添加到 Java 集合中。
在读取完数据后,我们可以在 `getUserList()` 方法中获取到读取到的 Java 集合对象:
```java
ExcelReader excelReader = EasyExcel.read(fileName, User.class, new UserListener()).build();
excelReader.read();
excelReader.finish();
List<User> userList = userListener.getUserList();
System.out.println(userList);
```
在上面的代码中,我们创建了一个 EasyExcel 的读取器对象,并使用 `read()` 方法读取 Excel 文件中的数据。读取完数据后,我们通过 `userListener.getUserList()` 方法获取到读取到的 Java 集合对象。
需要注意的是,在读取 Excel 文件时,如果表头占用了多行,那么实际读取到的数据行号会比指定的行号多出表头的行数。因此,在计算要读取的行号时,需要考虑表头的行数。