• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

phpExcel导出(大数据报错)

php 搞代码 4年前 (2022-01-23) 18次浏览 已收录 0个评论
文章目录[隐藏]

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

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

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

回复讨论(解决方案)

导成 csv 吧,这个比较容易一些,或者导成 xml 格式,但是文件名可以写成 xls 。
本文来源gaodaimacom搞#^代%!码&网*

搞代gaodaima码

不过,一下子导出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/


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:phpExcel导出(大数据报错)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址