iexcel icon indicating copy to clipboard operation
iexcel copied to clipboard

大文件解析返回数量为0

Open lisen2015 opened this issue 4 years ago • 2 comments

Excel数据量100W,文件大小100M 操作方式: ExcelBs.newInstance(filePath).bigWriteMode(true).read(User.class); 返回数据量:0

操作方式: ExcelBs.newInstance(filePath).read(User.class); 抛出异常: Exception in thread "main" java.lang.OutOfMemoryError: Java heap space···

不设置大文件的话走默认方式遇到大文件就内存溢出、设置大文件不抛异常、返回结果为0

辛苦楼主方便看下?

另:是否有更新read不设置对象的解析方式?

lisen2015 avatar Jul 15 '21 08:07 lisen2015

不好意思,忽然发现代码没做更新。我自测了一下,100万返回的确实是0。 我有时间看一下,有结果和你说。

当时设计就是为了以 OO 的方式处理,所以必须指定对象。

houbb avatar Jul 15 '21 08:07 houbb

想起来问题的原因了。

如果以 BigWriteMode 输出一个文件的话,这个文件直接用读取是空的。 如果你打开之后,重新保存,然后就可以读取到对应的内容。

猜测原因:直接 BigWriteMode 实际上缺失了一些必要的内容,虽然看以来都正常。 这个问题我以前忘记写了。

houbb avatar Jul 15 '21 08:07 houbb