easyexcel 动态头读取 最后一列没值的时候map的index正确

jxct1oxe  于 4个月前  发布在  其他
关注(0)|答案(3)|浏览(50)

建议先去看文档

快速开始常见问题

触发场景描述

触发Bug的代码

![image](https://github.com/alibaba/easyexcel/assets/49096277/6e4b6cb2-197b-49b4-8e0c-3835f99326ac)

提示的异常或者没有达到的效果

这里计算表头大小结果是从0开始的索引 比如是10列 返回的是 9
会导致map的key最大为8 正常最大的key应该为9

u0njafvf

u0njafvf2#

//读取不设置具体的头信息 使用动态头
DyModelExcelReadListener dyModelExcelReadListener = new DyModelExcelReadListener();
EasyExcel.read(inputStream, dyModelExcelReadListener).sheet().doRead();

public class DyModelExcelReadListener extends AnalysisEventListener<Map<Integer, String>> {

@Override
public void invoke(Map<Integer, String> data, AnalysisContext context) {
    //如附件内容    如果最后一列有内容的话 data的key是正常的   如果没有的话是最后一列的值  会造成整体的data的key不统一
}

}

head有10列

但是有的数据只有8列

如果没有数据的能不能自动补null 而不是没有key值

相关问题