以下是使用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。

EasyExcel 读取全部数据为ListMapString Object

原文地址: https://www.cveoy.top/t/topic/b1Wf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录