5
我用Tika的OOXMLParser和easyexcel解析同一个excel.xlsx(excel的大小几K到几百K),只提取纯文本,OOXMLParser的耗时只有easyexcel的1/3,想问一下为什么?
tika的版本是1.20 easyexcel的版本是1.1.2-beat1 都用的是poi 4.0.1
我用Tika的OOXMLParser和easyexcel解析同一个excel.xlsx(excel的大小几K到几百K),只提取纯文本,OOXMLParser的耗时只有easyexcel的1/3,想问一下为什么?
tika的版本是1.20 easyexcel的版本是1.1.2-beat1 都用的是poi 4.0.1
或许是因为有磁盘io?非常小的excel(就只有一行文本)平均也超过10ms
我们使用也发现了这个问题,50万条数据,easyExcel耗时接近7分钟,自己直接用Apache的poi解析只耗时21秒,同一台机器;10万条数据,easyExcel耗时94秒,自己直接用poi解析用时5秒。当然我们用的是dom解析,内存消耗会大一些。
发现这个问题是由于这个耗时太长导致NG关闭了与Tomcat的连接,然后给前端返回了错误页面,导致前端报SyntaxError:unexpected token o in json at position 1
建议使用最新版本试试。https://maven-badges.herokuapp.com/maven-central/com.alibaba/easyexcel。 并且参照:https://github.com/alibaba/easyexcel/blob/master/quickstart.md 去书写。 1.耗时的原因是 easy选择了用空间换时间,内存占用小。新版本更新了,耗时也有大幅下降