2
Q
[alibaba/easyexcel]读取xlsx文件,结果不正确
A
回答
2
翻了下代码,XlsxRowHandler 这个类用了个字符串数组
private String[] curRowContent = new String[20];
会根据列的数量动态扩容
if (curCol >= curRowContent.length) {
curRowContent = Arrays.copyOf(curRowContent, (int)(curCol * 1.5));
}
输出的时候转成 List,数组多出来的列就变成 null 了
registerCenter.notifyListeners(new OneRowAnalysisFinishEvent(Arrays.asList(curRowContent)));
我感觉可以直接定义成 List
可能是为了保证输出的每一行,列的数量都一样?
9
原来是为了解决空 cell 的问题。。好吧
0
由于1.0.*版本核心考虑的是怎么解决读excel内存溢出问题,自己重写了读excel的POI的底层,写仍旧使用POI。可以从根本解决OOM问题。但是由于自己对excel的格式认识不全面,有很多坑产生了很多BUG。最新版本以POI为底层。最新版:1.1.2-beat1,虽然不能完全解决OOM但可以解决大部分的OOM问题,完全解决OOM版本会等稳定后再开放,敬请理解。目前稳定版本1.1.2-beat1