开发者社区> 问答> 正文

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

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

展开
收起
kun坤 2020-06-07 20:30:55 3145 0
1 条回答
写回答
取消 提交回答
  • 可以体验下 #xxl-excel#######读写excel效率高不######肯定是你代码写的有问题。######读同样的数据,另一个文件就很快######

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

    ######就是双层循环遍历读的######

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

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

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

    可以考虑用多线程导出

    ######

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

    ######也许 0808xyj 说的对,excel 清理一下看看,如果没有图片的话几兆的数据已经很厉害了。
    2020-06-07 20:30:59
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载