Table des matières
回复讨论(解决方案)
Maison développement back-end tutoriel php 老话题了.PHP导出EXCEL,phpexcel类很强大,但是效率低速度慢,fputcsv速度快但不知道怎么解决科学计数法的问题,求老司机传授经验

老话题了.PHP导出EXCEL,phpexcel类很强大,但是效率低速度慢,fputcsv速度快但不知道怎么解决科学计数法的问题,求老司机传授经验

Jun 23, 2016 pm 01:49 PM
效率 科学

如题...

导出的数据目前大约4W条  下个月可能有10W条  4W条的情况下最终导出大约20M   因为字段较多所以循环对每一条数据做了一些处理计算, 用PHPEXCEL导出大概3分钟出结果  用php自带的fputcsv大约1分钟出结果,但是因为有身份证和其他超长数字字段, 又会变成科学计数法

用FPUTCSV的时候给每个字段加上\t 可以避免科学计数法  但是在csv文件中每个字段都隐藏了双引号  客户无法接受

用PHPEXCEL可以指定某字段为文本格式  但导出时间太久  客户也无法接受

目前程序循环本身已尽可能优化, 就是导出这里没有办法   希望在以下两个方向的任意一个得到帮助

1. 优化或者简化PHPEXCEL的使用,使其在能满足以上功能的情况下尽可能提高效率

2. 导出CSV可以使长数字不以科学计数法的形式显示,或者指定该列单元格格式为文本

有有效的思路亦可 不胜感激


回复讨论(解决方案)

优化的一种方法:
http://bbs.youyax.com/Content-5058
假设有10000条数据,
分10次导出,每次导出1000条,
这种方法的好处是,可以避免长时间等待,
但是有个问题是好像还是很占用内存,
文件太大依然会报内存不足
原理是:
先导出1000条,
再次读取,定位到第1001行,
继续导出下1000条,
再次读取,定位到2001,
……

优化的一种方法:
http://bbs.youyax.com/Content-5058
假设有10000条数据,
分10次导出,每次导出1000条,
这种方法的好处是,可以避免长时间等待,
但是有个问题是好像还是很占用内存,
文件太大依然会报内存不足
原理是:
先导出1000条,
再次读取,定位到第1001行,
继续导出下1000条,
再次读取,定位到2001,
……




总耗时如果不减少的话意义不是很大~~


优化的一种方法:
http://bbs.youyax.com/Content-5058
假设有10000条数据,
分10次导出,每次导出1000条,
这种方法的好处是,可以避免长时间等待,
但是有个问题是好像还是很占用内存,
文件太大依然会报内存不足
原理是:
先导出1000条,
再次读取,定位到第1001行,
继续导出下1000条,
再次读取,定位到2001,
……




总耗时如果不减少的话意义不是很大~~
把你的方法或代码贴出来看看,研究研究,口说有点不清晰

1.Excel可以支持100万行记录,Excel 2003最大支持65536行,从2007版开始支持104万行,Excel极限是65536条。

参考下:循环生成CSV 数据, 每生成1000 条的时候刷新下缓冲期

$fp = fopen('php://output', 'a');// 输出Excel列名信息$head = array("电子邮件");foreach ($head as $i => $v) {    // CSV的Excel支持GBK编码,一定要转换,否则乱码    $head[$i] = iconv('utf-8', 'gbk', $v);}// 将数据通过fputcsv写到文件句柄fputcsv($fp, $head);// 计数器$cnt = 0;// 每隔$limit行,刷新一下输出buffer,不要太大,也不要太小$limit = 100000;// 逐行取出数据,不浪费内存$count = count($email);for($t=0;$t<$count;$t++) {    $cnt ++;    if ($limit == $cnt) { //刷新一下输出buffer,防止由于数据过多造成问题        ob_flush();        flush();        $cnt = 0;    }    $row[] = $email[$t];    foreach ($row as $i => $v) {        $row[$i] = iconv('utf-8', 'gbk', $v);    }    fputcsv($fp, $row);    unset($row);}2.长数字,可以再导出的时候,在前面预加个空格,这个就不以长度计数形式导出,而是以文本形式导出。
Copier après la connexion

目前尚无很好的办法,  PHPexcel总是很慢 未能成功优化

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment activer ou désactiver le mode productivité pour une application ou un processus dans Windows 11 Comment activer ou désactiver le mode productivité pour une application ou un processus dans Windows 11 Apr 14, 2023 pm 09:46 PM

Le nouveau gestionnaire de tâches de Windows 11 22H2 est une aubaine pour les utilisateurs expérimentés. Il offre désormais une meilleure expérience d'interface utilisateur avec des données supplémentaires pour garder un œil sur vos processus, tâches, services et composants matériels en cours d'exécution. Si vous utilisez le nouveau Gestionnaire des tâches, vous avez peut-être remarqué le nouveau mode de productivité. qu'est-ce que c'est? Cela contribue-t-il à améliorer les performances des systèmes Windows 11 ? Découvrons-le ! Qu’est-ce que le mode productivité dans Windows 11 ? Le mode productivité est l'une des tâches du Gestionnaire des tâches

Il peut surpasser les humains en deux heures ! Le dernier speedrun IA de DeepMind exécute 26 jeux Atari Il peut surpasser les humains en deux heures ! Le dernier speedrun IA de DeepMind exécute 26 jeux Atari Jul 03, 2023 pm 08:57 PM

L’agent IA de DeepMind est de nouveau au travail ! Attention, ce type nommé BBF a maîtrisé 26 jeux Atari en seulement 2 heures. Son efficacité est équivalente à celle des humains, surpassant tous ses prédécesseurs. Vous savez, les agents d'IA ont toujours été efficaces pour résoudre des problèmes grâce à l'apprentissage par renforcement, mais le plus gros problème est que cette méthode est très inefficace et nécessite beaucoup de temps à explorer. Picture La avancée apportée par BBF se situe en termes d'efficacité. Pas étonnant que son nom complet puisse être appelé Bigger, Better ou Faster. De plus, il peut effectuer une formation sur une seule carte et les besoins en puissance de calcul sont également considérablement réduits. BBF a été proposé conjointement par Google DeepMind et l'Université de Montréal, et les données et le code sont actuellement open source. L'humain le plus élevé possible

Guide pratique de développement à distance PyCharm : améliorer l'efficacité du développement Guide pratique de développement à distance PyCharm : améliorer l'efficacité du développement Feb 23, 2024 pm 01:30 PM

PyCharm est un puissant environnement de développement intégré (IDE) Python largement utilisé par les développeurs Python pour l'écriture de code, le débogage et la gestion de projets. Dans le processus de développement réel, la plupart des développeurs seront confrontés à différents problèmes, tels que comment améliorer l'efficacité du développement, comment collaborer avec les membres de l'équipe sur le développement, etc. Cet article présentera un guide pratique du développement à distance de PyCharm pour aider les développeurs à mieux utiliser PyCharm pour le développement à distance et à améliorer l'efficacité du travail. 1. Travail de préparation dans PyCh

De nouveaux « scientifiques de l'IA » combinent théorie et données pour découvrir des équations scientifiques De nouveaux « scientifiques de l'IA » combinent théorie et données pour découvrir des équations scientifiques May 18, 2023 am 10:49 AM

Les scientifiques visent à découvrir des formules significatives qui décrivent avec précision les données expérimentales. Les modèles mathématiques de phénomènes naturels peuvent être créés manuellement sur la base des connaissances du domaine, ou ils peuvent être créés automatiquement à partir de grands ensembles de données à l'aide d'algorithmes d'apprentissage automatique. La communauté universitaire a étudié le problème de la fusion des connaissances préalables pertinentes et des modèles fonctionnels pertinents, et estime que trouver un modèle cohérent avec les connaissances préalables des axiomes logiques généraux est un problème non résolu. Les chercheurs de l'équipe de recherche d'IBM et de l'équipe Samsung AI ont développé une méthode « AI-Descartes » qui combine le raisonnement logique et la régression symbolique pour conduire une dérivation fondée sur des principes de modèles de phénomènes naturels à partir de connaissances axiomatiques et de données expérimentales. L'étude est basée sur la « Combinaison de données et de théorie pour

Quel ordinateur les étudiants en sciences de l'information géographique devraient-ils choisir ? Quel ordinateur les étudiants en sciences de l'information géographique devraient-ils choisir ? Jan 13, 2024 am 08:00 AM

Ordinateurs recommandés adaptés aux étudiants se spécialisant en sciences de l'information géographique 1. Recommandation 2. Les étudiants se spécialisant en sciences de l'information géographique doivent traiter de grandes quantités de données géographiques et effectuer des analyses complexes d'informations géographiques, ils ont donc besoin d'un ordinateur très performant. Un ordinateur avec une configuration élevée peut offrir une vitesse de traitement plus rapide et un espace de stockage plus grand, et peut mieux répondre aux besoins professionnels. 3. Il est recommandé de choisir un ordinateur équipé d'un processeur haute performance et d'une mémoire de grande capacité, ce qui peut améliorer l'efficacité du traitement et de l'analyse des données. De plus, choisir un ordinateur doté d’un plus grand espace de stockage et d’un écran haute résolution permet de mieux afficher les données et les résultats géographiques. De plus, étant donné que les étudiants se spécialisant en sciences de l'information géographique peuvent avoir besoin de développer et de programmer un logiciel de système d'information géographique (SIG), choisissez un ordinateur offrant une meilleure prise en charge du traitement graphique.

Déploiement privé de Stable Diffusion pour jouer avec le dessin IA Déploiement privé de Stable Diffusion pour jouer avec le dessin IA Mar 12, 2024 pm 05:49 PM

StableDiffusion est un modèle d'apprentissage profond open source. Sa fonction principale est de générer des images de haute qualité via des descriptions textuelles et prend en charge des fonctions telles que la génération de graphiques, la fusion de modèles et la formation de modèles. L'interface de fonctionnement du modèle est visible dans la figure ci-dessous. Comment générer une image. Ce qui suit est une introduction au processus de création d'une image d'un cerf buvant de l'eau. Lors de la génération d'une image, elle est divisée en mots d'invite et en mots d'invite négatifs. Lors de la saisie des mots d'invite, vous devez la décrire. clairement et essayez de décrire la scène, l’objet, le style et la couleur que vous souhaitez en détail. Par exemple, au lieu de simplement dire « le cerf boit de l'eau », il est écrit « un ruisseau, à côté d'arbres denses, et il y a des cerfs qui boivent de l'eau à côté du ruisseau ». Les mots d'invite négatifs vont dans la direction opposée. aucun bâtiment, aucune personne, aucun pont, aucune clôture et une description trop vague peuvent conduire à des résultats inexacts.

Comment activer le mode d'économie d'énergie dans Microsoft Edge ? Comment activer le mode d'économie d'énergie dans Microsoft Edge ? Apr 20, 2023 pm 08:22 PM

Les navigateurs basés sur Chromium comme Edge utilisent beaucoup de ressources, mais vous pouvez activer le mode efficacité dans Microsoft Edge pour améliorer les performances. Le navigateur Web Microsoft Edge a parcouru un long chemin depuis ses humbles débuts. Récemment, Microsoft a ajouté un nouveau mode d'efficacité au navigateur, conçu pour améliorer les performances globales du navigateur sur PC. Le mode Efficacité permet de prolonger la durée de vie de la batterie et de réduire l’utilisation des ressources système. Par exemple, les navigateurs construits avec Chromium, tels que Google Chrome et Microsoft Edge, sont connus pour monopoliser les cycles de RAM et de processeur. Par conséquent, afin

Maîtrisez Python pour améliorer l'efficacité du travail et la qualité de vie Maîtrisez Python pour améliorer l'efficacité du travail et la qualité de vie Feb 18, 2024 pm 05:57 PM

Titre : Python rend la vie plus pratique : maîtrisez ce langage pour améliorer l'efficacité du travail et la qualité de vie. En tant que langage de programmation puissant et facile à apprendre, Python devient de plus en plus populaire à l'ère numérique d'aujourd'hui. Non seulement pour écrire des programmes et effectuer des analyses de données, Python peut également jouer un rôle important dans notre vie quotidienne. La maîtrise de cette langue peut non seulement améliorer l'efficacité du travail, mais également améliorer la qualité de vie. Cet article utilisera des exemples de code spécifiques pour démontrer la large application de Python dans la vie et aider les lecteurs

See all articles