提供的代码还是有问题 'Sheet' 为 abstract;无法实例化 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(); excelReader.read(new Sheet(1, 1, Object.class)); return list; }
时间: 2024-03-08 08:47:52 浏览: 107
根据提供的代码,确实存在问题。'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 sheet = new Sheet(1, 1, Object.class);
excelReader.read(sheet);
return list;
}
```
这里我们将 `Sheet` 实例化,并将其作为参数传入 `read` 方法中。这样就能够读取 Excel 文件并将其转换为一个 List 了。
阅读全文