python - Comment résoudre le problème lorsque le navigateur est à moitié bloqué lors de l'exportation d'Excel avec plus de 10 000 éléments?
習慣沉默
習慣沉默 2017-06-14 10:49:44
0
13
2017

Les exigences commerciales nécessitent parfois l'exportation de dizaines de milliers d'éléments
Puis-je utiliser python pour le traiter ?? C'est trop bloqué
Et si j'utilise python pour le traiter ?

習慣沉默
習慣沉默

répondre à tous(13)
伊谢尔伦

Plus de dix mille, ce n'est pas beaucoup. Vous pouvez en utiliser PHPExcel 这个第三方库. 或者直接导出 csv , 函数: fputcsv .

.
代言

Si vous souhaitez exporter, exportez-le simplement directement en mode CVS.

phpcn_u1582

Vous n’avez pas besoin de tout exporter en même temps. Exporter par lots

三叔

Les tâches serveur chronophages comme celle-ci ne doivent pas être conçues comme 浏览器->同步->服务器devraient être sous la forme de tâches asynchrones :
 ;

  1. Navigateur : Je veux un fichier Excel, veuillez d'abord le générer pour moi

  2. Serveur : OK, la mission a commencé

  3. Navigateur : laissez-moi le rafraîchir et voir (vous pouvez utiliser une longue connexion à la place), il semble terminé. Donnez-moi l'URL (l'URL peut être reflétée dans la tâche, pas besoin de l'obtenir à nouveau), je veux. pour le télécharger

  4. Serveur : http://domain.com/test.xlsx

  5. Navigateur : Démarrer le téléchargement

学习ing

N'est-il pas suffisant d'avoir plus de 10 000 entrées ? Quelle est la taille du fichier ?

三叔

Vous pouvez segmenter la génération... écrire 1000 éléments par 1000 éléments.
De plus, si php expire, vous pouvez modifier set_time_limit()

我想大声告诉你

Asynchrone, toutes les opérations d'exportation doivent être rendues asynchrones

淡淡烟草味

Écrit en pagination, par exemple, actualisé une fois tous les 1000 éléments

学习ing

Utilisez le script pour exécuter, php -f export.php

为情所困

Utilisez un mode asynchrone ou multi-processus, le navigateur soumet la tâche, indiquant que la tâche est en cours de traitement, le script multi-processus en arrière-plan la traite lentement et, une fois terminé, envoie un message au navigateur pour inviter l'utilisateur à effectuer l'opération d'exportation. est terminé et peut être téléchargé.
Message push du navigateur : http://www.workerman.net/web-...
Cadre multi-processus : http://doc3.workerman.net/ins...

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal