当前位置:Gxlcms > PHP教程 > phpExcel导出(大数据报错)

phpExcel导出(大数据报错)

时间:2021-07-01 10:21:17 帮助过:3人阅读

数据量:
列:155
行:10000(后续数据量可能上涨150倍)

前提:
1、因为这1w行的标题存在较为复杂的逻辑问题,所以需要合并单元格的操作,只能选择excel导出
2、原系统导出时,发现会内存溢出,程序崩溃,实际中不可能无限制的修改内存。所以从网上查找了资料,有两种方法,一种是追加(写一个excel,后面的去读取这个excel,然后追加),另一种是多sheet

问题:
1、根据方法做了测试,只是查了这10000个基本数据(没有涉及到原先的多表关联),发现追加的数据量过了500临界点之后程序就崩溃了(内存为php默认的内存),多个sheet也无法解决,难道追加也和内存有关系么?难道数据量超过了限制?有什么方法可以解决这个问题?或者有什么方法可以解决这样的大数据导出?
(需要考虑用户体验。。。)


回复讨论(解决方案)

导成 csv 吧,这个比较容易一些,或者导成 xml 格式,但是文件名可以写成 xls 。

不过,一下子导出150W 行数据,有人看吗?

客户要这么多数据,应该是要别的工具做统计

csv有合并单元格,字体样式的操作么?

导成 csv 吧,这个比较容易一些,或者导成 xml 格式,但是文件名可以写成 xls 。

不过,一下子导出150W 行数据,有人看吗?




客户要这么多数据,应该是要用别的工具做统计(总是各种需求..)

csv有合并单元格,字体样式的操作么?


导成 csv 吧,这个比较容易一些,或者导成 xml 格式,但是文件名可以写成 xls 。

不过,一下子导出150W 行数据,有人看吗?




客户要这么多数据,应该是要用别的工具做统计(总是各种需求..)

csv有合并单元格,字体样式的操作么?



对了,最主要的是这个excel里面有超连接,连接到服务器上用资源管理器查看非结构化数据,如果csv估计不行了吧?

这个可能对你有用 http://www.baidu.com/s?wd=phpExcel%E7%BC%93%E5%AD%98&ie=utf-8



导成 csv 吧,这个比较容易一些,或者导成 xml 格式,但是文件名可以写成 xls 。

不过,一下子导出150W 行数据,有人看吗?




客户要这么多数据,应该是要用别的工具做统计(总是各种需求..)

csv有合并单元格,字体样式的操作么?



对了,最主要的是这个excel里面有超连接,连接到服务器上用资源管理器查看非结构化数据,如果csv估计不行了吧?



存在 xml 格式的吧,可以解决 超连接和 合并单元格式的需求 。

你自己建一个excel 文件,随便录几个数据,再存在 xml 格式,你大概看看,没什么难度。

数据不要一次读出来,可以分页多次遍历追加csv或者exel

全部到处150W,excel的临界点都超过了,肯定不现实的。

PHPExcel 处理Excel的确有很多问题(不知道是不是自己没搞懂), 按document操作经常出现内存不够,或者CPU高飙的情况。数据量一大基本没法操作。
之前参考了几种修改其缓存的方法,对我来说没什么用。你可以参考下。PHPExcel缓存方式 http://pqbd69.blog.163.com/blog/static/2312720062013865360908/

人气教程排行