同样遇到这个问题,2.2.3版本会出现npe,切换成2.1.7后解决
问题代码如下:
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import java.util.LinkedHashMap;
public class DataListener extends AnalysisEventListener<LinkedHashMap<Integer, String>> {
@Override
public void invoke(LinkedHashMap<Integer, String> stringLinkedHashMap, AnalysisContext analysisContext) {
System.out.println(stringLinkedHashMap);
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
}
import com.alibaba.excel.EasyExcel;
public class JRunner {
public static void main(String[] args) {
EasyExcel.read("./tmp/alex/excel6m/e.xls", new DataListener()).sheet("Sheet1").doRead();
}
}
文件:
npe报错:
Exception in thread "main" java.lang.NullPointerException
at com.alibaba.excel.analysis.v03.handlers.BofRecordHandler.processRecord(BofRecordHandler.java:49)
at com.alibaba.excel.analysis.v03.XlsSaxAnalyser.processRecord(XlsSaxAnalyser.java:158)
at org.apache.poi.hssf.eventusermodel.MissingRecordAwareHSSFListener.processRecord(MissingRecordAwareHSSFListener.java:203)
at org.apache.poi.hssf.eventusermodel.FormatTrackingHSSFListener.processRecord(FormatTrackingHSSFListener.java:92)
at org.apache.poi.hssf.eventusermodel.HSSFRequest.processRecord(HSSFRequest.java:109)
at org.apache.poi.hssf.eventusermodel.HSSFEventFactory.genericProcessEvents(HSSFEventFactory.java:179)
at org.apache.poi.hssf.eventusermodel.HSSFEventFactory.processEvents(HSSFEventFactory.java:136)
at org.apache.poi.hssf.eventusermodel.HSSFEventFactory.processWorkbookEvents(HSSFEventFactory.java:82)
at org.apache.poi.hssf.eventusermodel.HSSFEventFactory.processWorkbookEvents(HSSFEventFactory.java:54)
at com.alibaba.excel.analysis.v03.XlsSaxAnalyser.execute(XlsSaxAnalyser.java:137)
at com.alibaba.excel.analysis.ExcelAnalyserImpl.analysis(ExcelAnalyserImpl.java:115)
at com.alibaba.excel.ExcelReader.read(ExcelReader.java:182)
at com.alibaba.excel.ExcelReader.read(ExcelReader.java:172)
at com.alibaba.excel.read.builder.ExcelReaderSheetBuilder.doRead(ExcelReaderSheetBuilder.java:65)
是xls的文件出现的问题