首页  >  问答  >  正文

python - php导出excel 一万多条浏览器卡得半死怎么解决

业务需求有时候要导出几万条,
我能不能用python来处理??实在太卡了
如果用python来处理又改怎么弄

習慣沉默習慣沉默2707 天前1989

全部回复(13)我来回复

  • 伊谢尔伦

    伊谢尔伦2017-06-14 10:51:44

    一万多条不是很多. 可以使用 PHPExcel 这个第三方库. 或者直接导出 csv , 函数: fputcsv .

    回复
    0
  • 代言

    代言2017-06-14 10:51:44

    导出的话,直接导成CVS模式就好了.

    回复
    0
  • phpcn_u1582

    phpcn_u15822017-06-14 10:51:44

    可以不一次性导出。分批导出

    回复
    0
  • 三叔

    三叔2017-06-14 10:51:44

    像这种耗时的服务器任务不应该设计成浏览器->同步->服务器
    应该是异步任务的形式:

    1. 浏览器:我要一个Excel,你先帮我生成

    2. 服务器:好的,任务已开始

    3. 浏览器:我来刷新一下看看(可以用长连接替代),好像完成了,你把URL(URL可以体现在任务中,无需再获取)给我,我要下载了

    4. 服务器:http://domain.com/test.xlsx

    5. 浏览器:开始下载

    回复
    0
  • 学习ing

    学习ing2017-06-14 10:51:44

    10000多条就不行了?文件是有多大啊

    回复
    0
  • 三叔

    三叔2017-06-14 10:51:44

    你可以把生成做成分段式……1000条1000条写。
    另外php超时的话可以改下set_time_limit()

    回复
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-14 10:51:44

    异步,所有导出操作都应该做成异步

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-14 10:51:44

    写成分页 比如1000条刷新一次

    回复
    0
  • 学习ing

    学习ing2017-06-14 10:51:44

    用脚本去跑, php -f export.php

    回复
    0
  • 为情所困

    为情所困2017-06-14 10:51:44

    使用异步或者多进程,浏览器提交任务,提示任务已经在处理,后台多进程脚本慢慢处理,出来完成给浏览器推个消息提示用户导出操作已经完成,可以下载了。
    浏览器推送消息:http://www.workerman.net/web-...
    多进程框架:http://doc3.workerman.net/ins...

    回复
    0
  • 取消回复