python - Wie kann das Problem gelöst werden, wenn der Browser beim Excel-Export mit mehr als 10.000 Elementen halb hängen bleibt?
習慣沉默
習慣沉默 2017-06-14 10:49:44
0
13
1922

Geschäftsanforderungen erfordern manchmal den Export von Zehntausenden von Elementen.
Kann ich Python zur Verarbeitung verwenden?
Was ist, wenn ich Python zur Verarbeitung verwende?

習慣沉默
習慣沉默

Antworte allen(13)
伊谢尔伦

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

代言

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

phpcn_u1582

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

三叔

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

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

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

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

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

  5. 浏览器:开始下载

学习ing

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

三叔

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

我想大声告诉你

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

淡淡烟草味

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

学习ing

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

为情所困

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

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!