Home >Backend Development >PHP Tutorial >phpExcel导出(大数据报错)
数据量:
列: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 吧,这个比较容易一些,或者导成 xml 格式,但是文件名可以写成 xls 。
不过,一下子导出150W 行数据,有人看吗?
这个可能对你有用 http://www.baidu.com/s?wd=phpExcel%E7%BC%93%E5%AD%98&ie=utf-8
导成 csv 吧,这个比较容易一些,或者导成 xml 格式,但是文件名可以写成 xls 。
不过,一下子导出150W 行数据,有人看吗?
数据不要一次读出来,可以分页多次遍历追加csv或者exel
全部到处150W,excel的临界点都超过了,肯定不现实的。
PHPExcel 处理Excel的确有很多问题(不知道是不是自己没搞懂), 按document操作经常出现内存不够,或者CPU高飙的情况。数据量一大基本没法操作。
之前参考了几种修改其缓存的方法,对我来说没什么用。你可以参考下。PHPExcel缓存方式 http://pqbd69.blog.163.com/blog/static/2312720062013865360908/