上面 excelReader.read(new Sheet(1, 1, Object.class)); 方法报错
时间: 2024-03-08 19:47:24 浏览: 69
非常抱歉,我在之前的回答中犯了一个错误。EasyExcel库中的Sheet类确实是抽象的,不能直接实例化。正确的用法是使用它的Builder类来创建Sheet对象,如下所示:
```java
public static List<Object> readExcelToList(MultipartFile file) throws IOException {
List<Object> list = new ArrayList<>();
InputStream inputStream = file.getInputStream();
ExcelReader excelReader = EasyExcel.read(inputStream, new AnalysisEventListener<Object>() {
@Override
public void invoke(Object data, AnalysisContext context) {
list.add(data);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
// 解析结束销毁不用的资源
try {
context.readWorkbookHolder().getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}).build();
// 读取第一个Sheet的所有行和列,并将它们作为Object类型添加到List中
excelReader.read(new Sheet.Builder(1, 1).headRowNumber(1).build());
return list;
}
```
在上面的代码中,我们使用Sheet.Builder来创建Sheet对象,并指定要读取的Sheet的索引(从1开始),第一行的索引(从1开始),以及行头的索引。然后,将Sheet对象传递给ExcelReader的read()方法,以开始读取Excel文件。
再次感谢您的指出,希望这次解答能够帮到您。
阅读全文