java大概1000W数据导出成excel有啥好的建议。(最好是插件,POI、JXL、FastExcel已试过,数据量太大,不

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java大概1000W数据导出成excel有啥好的建议。(最好是插件,POI、JXL、FastExcel已试过,数据量太大,不相关的知识,希望对你有一定的参考价值。

客户需求,要导出大概一千万的数据成excel形式。求解决方案!POI、JXL、FastExcel三个对一千万的数据处理不是很好。求解!

使用POI或JXL的话,数据是一次性读入内存,封装成对象,再一次性导出的。这么大的数据量都有G级了吧,如果是一次性作业的话,内存很难受。
考虑分批,追加写入的方式,对于简单的字节字符流文件是可取的。然而写成excel这种结构化的文件格式应该是没办法胜任了,追加写入时往往需要事先获知文件的结构信息,然后找到相应的位置进行插入,而这个过程也是复杂的(这也是POI、JXL出现的原因)。
因此,建议你输出为多个excel文件吧。

PS:不知道这么大的数据为何还要输出成Excel文件,Excel文件本来就是给人看的,相信你的数据一定不是给人看的,而是作为存储载体而已,那么使用更加简洁的方式不是更好?使用简单的文本文件进行存储(还可实现追加);使用库表作为载体则更优
参考技术A Excel本身就不支持这么多数据,一个sheet也就容65535行数据,一个workbook最多256个sheet,
同时还要求JVM的内存够大
参考技术B 是的,excel是有60000行的限制。如果你能够正确的导出excel,说明你已经掌握了excel的操作。我提供一种思路供你参考:判断你要导出数据的行数,以6万为基数,进行程序判断。可以通过循环的方式,计算出需要的sheet数量,每次循环建立一个sheet,然后把数据导入。关键的问题在于创建新的sheet和,计算导出的数据。希望对你有所帮助吧。
参考技术C 此需求可以放弃,转换业务思路,找到问题的根源,从业务上解决问题

以上是关于java大概1000W数据导出成excel有啥好的建议。(最好是插件,POI、JXL、FastExcel已试过,数据量太大,不的主要内容,如果未能解决你的问题,请参考以下文章

Java 导出 Word 表格有啥好的办法

JAVA有啥好的方法可以将word里的文本读取出来

java 判断条件过多怎么办?有啥好的解决办法吗?

本人初学Java,有啥好的图形验证码推荐吗?

想要自学python,有啥好的学习方法推荐?

js将两个json合并成一个,有啥好的方法