您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Java >> java数据导出excel或其他文件格式,数据量大怎么优化?

java数据导出excel或其他文件格式,数据量大怎么优化?

来源:网络整理     时间:2016/5/18 22:53:43     关键词:excel,java

关于网友提出的“java数据导出excel或其他文件格式,数据量大怎么优化?”问题疑问,本网通过在网上对“java数据导出excel或其他文件格式,数据量大怎么优化?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:java数据导出excel或其他文件格式,数据量大怎么优化?
描述:

java数据导出excel或其他文件格式,数据量大怎么优化?

现在5000条数据用15秒,这种太慢了,这只是测试数据,线上服务器数据至少5w条

求大神们给几个方案参考,谢谢


解决方案1:

用高性能的spread控件可以做到。你可以去下面下载Excel导出的示例代码哦。

http://gcdn.gcpowertools.com.cn/showtopic-21245-1-1.html

解决方案2:

主要是读写磁盘耗时吧。先在内存划出一块空间,映射Excel文件;再往这块空间写数据,写满了就保存。

解决方案3:

分页导出?先随机生成一个缓存Excel分页往这个缓存Excel里面写,导完再重命名。

解决方案4:

不能一次性读取,最好的办法优化是用流读取,用流写入,这样节省内存,效率高,如果文件实在很大,那么建议分片写在磁盘上,等都写完了,在一起合并

解决方案5:

导出CSV啊,不用excel

解决方案6:

如果数据量很大,尽量不要在内存操作,可以直接在服务器上写文件,或者写多个文件,然后打包再下载。这个过程不一定要同步完成,如果确实很大,用户一般是可以接受的。

解决方案7:

这个问题我还真碰到过,有一次公司让生成200w兑换码,我的内心几乎是崩溃的,因为首先生成是个问题(线上Mysql),下载兑换码也是个问题,最后的解决方案是我直接用navicat导出。因为很紧急,所以找了个快方法,现在想想,其实有很多方法可以实现,简单点就是可以并发写出n个文件,然后打个包。

解决方案8:

楼上正解,搞个100W数据放内存里,如果好多人一起生成excel,你的服务肯定崩。。。。

有个坏的点子:你可以写csv文件,写完后去掉字段前的空格,再更改扩展名。

解决方案9:

能否说下你的实现办法呢?

1、测试从数据库读取的耗时,优化SQL。

2、改善数据转换导出的算法,更换效率更高的类库。

解决方案10:

数据不能直接加载到内存,去掉ORM,使用JDBC操作游标,一行一行的读取写入


以上介绍了“java数据导出excel或其他文件格式,数据量大怎么优化?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1168387.html

相关图片

相关文章