java用Poi读取excel时特别慢,该怎么解决呢

monkey_hyh 发布于 2018/06/11 22:50
阅读 1K+
收藏 1

一个excel文件就几M,很小的文件,遍历里面的数据,然后打印出来,这个过程非常的慢,大概需要花七八分钟,这种情况该怎么解决呢

加载中
0
许雪里
许雪里
可以体验下 #xxl-excel#
m
monkey_hyh
读写excel效率高不
0
RJ-Hwang
RJ-Hwang
肯定是你代码写的有问题。
m
monkey_hyh
读同样的数据,另一个文件就很快
0
独孤晓林

代码有问题!重来没遇到过

m
monkey_hyh
就是双层循环遍历读的
0
快速开发师
快速开发师

excel这种东西不是文本,文本是什么东西呢,你知道前面可以不用知道后面,从上往下,读多少算多少,后面未加载完毕的,可以不用关心。

 excel呢,完全不是,excel是一个整体,可能某一行信息,其二进制要获取的信息贯穿整个文档的上中下,你无法像文本文档一行只读前面可以不看后面,所以excel一直很坑,要想低内存循环方式读出来是相当难的,也未见有什么可靠的技术可以只读局部就能分析出局部数据行的东西来。

m
monkey_hyh
现在弄好了,原先的那个excel有5M多,我把要读的那个sheet复制出来放到一个新建的excel里面就正常了,原先那个太吓人了,电脑那个加速球都变红了
快速开发师
快速开发师
回复 @monkey_hyh : 你是台式机吧,电脑响是磁盘指针频繁定向扫,说明你的excel很大,并且没有存储在连续的磁盘空间里,这个多半是电脑的问题吧,建议做一做磁盘碎片整理
m
monkey_hyh
读的时候电脑都响的可厉害了,也不知道该怎么优化一下
0
cafelication
cafelication

可以考虑用多线程导出

0
0
0808xyj

有可能是Excel 自身的文件有问题,检查下 那个读写慢的Excel 是不是有被修改的空行记录造成的

0
RJ-Hwang
RJ-Hwang
也许 0808xyj 说的对,excel 清理一下看看,如果没有图片的话几兆的数据已经很厉害了。
返回顶部
顶部