EasyExcel 读取全部数据为ListMapString Object
以下是使用EasyExcel读取全部数据为List<Map<String, Object>>的示例代码:
public List<Map<String, Object>> readExcel(File file) {
List<Map<String, Object>> dataList = new ArrayList<>();
ExcelReader reader = null;
try {
reader = new ExcelReader(new FileInputStream(file), null, new AnalysisEventListener<List<Object>>() {
private List<String> headerList = new ArrayList<>();
@Override
public void invoke(List<Object> data, AnalysisContext context) {
if (context.readRowHolder().getRowIndex() == 0) {
// 处理表头
for (Object header : data) {
headerList.add(header.toString());
}
} else {
// 处理数据行
Map<String, Object> rowMap = new HashMap<>();
for (int i = 0; i < headerList.size(); i++) {
rowMap.put(headerList.get(i), data.get(i));
}
dataList.add(rowMap);
}
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
}
});
reader.read();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (reader != null) {
reader.finish();
}
}
return dataList;
}
在上述代码中,我们使用了EasyExcel的ExcelReader来读取Excel文件,同时定义了一个AnalysisEventListener来处理读取到的数据。在处理数据时,我们将表头信息和数据行信息都保存在一个Map中,并将这个Map添加到一个List中,最后返回这个List。
原文地址: https://www.cveoy.top/t/topic/b1Wf 著作权归作者所有。请勿转载和采集!