PHP将数据导出到excel时因为数据量比较大导致失败,请问有什么方案?

PHP将数据导出到excel时因为数据量比较大导致失败,目前是把数据按照时间分割,分批导出。

请先 登录 后评论

2 个回答

广训

1、之前确实遇到过,excel插件在处理数组时,只能一次性处理,会超过内存限制,要么设置脚本不限制内存,只要内存足够大,始终还是能完成的。

2、没去研究,后来就改为导出csv格式了,csv格式有一个致命的问题是,导出后utf8编码用excel软件打开会是乱码,之前看过说是跟excel默认编码有关,在windows系统是可能没问题,但是mac和linux可能没法看,得自己粘贴出来,在处理一次粘进去就好了,可能需要mb_convert_encoding($str, 'gbk', 'utf-8')处理下。

请先 登录 后评论
Kemin - 架构工程师

楼上回答的是一种高效的方式,不过可能会导致乱码问题。

还有一种方式,请看这个github仓库:https://github.com/mk-j/PHP_XLSXWriter

性能高出很多,但是比起csv还是差了不少。

请先 登录 后评论
  • 2 关注
  • 0 收藏,1922 浏览
  • 靖小侠 提出于 2017-05-25 10:20

相似问题