


如题...
导出的数据目前大约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.长数字,可以再导出的时候,在前面预加个空格,这个就不以长度计数形式导出,而是以文本形式导出。
目前尚无很好的办法, PHPexcel总是很慢 未能成功优化

Windows 11 22H2中的新任务管理器对高级用户来说是一个福音。现在,它通过附加数据提供更好的 UI 体验,以密切关注您正在运行的流程、任务、服务和硬件组件。如果您一直在使用新的任务管理器,那么您可能已经注意到新的效率模式。它是什么?它是否有助于提高 Windows 11 系统的性能?让我们来了解一下!Windows 11 中的效率模式是什么?效率模式是任务管理器中的一

DeepMind的AI智能体,又来卷自己了!注意看,这个名叫BBF的家伙,只用2个小时,就掌握了26款雅达利游戏,效率和人类相当,超越了自己一众前辈。要知道,AI智能体通过强化学习解决问题的效果一直都不错,但最大的问题就在于这种方式效率很低,需要很长时间摸索。图片而BBF带来的突破正是在效率方面。怪不得它的全名可以叫Bigger、Better、Faster。而且它还能只在单卡上完成训练,算力要求也降低许多。BBF由谷歌DeepMind和蒙特利尔大学共同提出,目前数据和代码均已开源。最高可取得人类

推荐适合地理信息科学专业学生用的电脑1.推荐2.地理信息科学专业学生需要处理大量的地理数据和进行复杂的地理信息分析,因此需要一台性能较强的电脑。一台配置高的电脑可以提供更快的处理速度和更大的存储空间,能够更好地满足专业需求。3.推荐选择一台配备高性能处理器和大容量内存的电脑,这样可以提高数据处理和分析的效率。此外,选择一台具备较大存储空间和高分辨率显示屏的电脑也能更好地展示地理数据和结果。另外,考虑到地理信息科学专业学生可能需要进行地理信息系统(GIS)软件的开发和编程,选择一台支持较好的图形处

科学家们的目标是发现能够准确描述实验数据的有意义的公式。自然现象的数学模型可以根据领域知识手动创建,或者也可以使用机器学习算法从大型数据集自动创建。学界已经研究了表示相关先验知识与相关函数模型合并的问题,认为寻找与一般逻辑公理先验知识一致的模型,是一个悬而未决的问题。IBM研究团队以及三星AI团队的研究人员开发了一种方法「AI-Descartes」,通过将逻辑推理与符号回归相结合,能够从公理知识和实验数据中对自然现象模型进行原则性推导。该研究以「Combiningdataandtheoryfor

Edge等基于Chromium的浏览器会占用很多资源,但您可以在MicrosoftEdge中启用效率模式以提高性能。MicrosoftEdge网络浏览器自其不起眼的开始以来已经走过了漫长的道路。最近,微软为浏览器添加了一种新的效率模式,旨在提高浏览器在PC上的整体性能。效率模式有助于延长电池寿命并减少系统资源使用。例如,使用Chromium构建的浏览器(如GoogleChrome和MicrosoftEdge)因占用RAM和CPU周期而臭名昭著。因此,为了

Scrapy是一款Python编写的强大的网络爬虫框架,它可以帮助用户从互联网上快速、高效地抓取所需的信息。然而,在使用Scrapy进行爬取的过程中,往往会遇到一些问题,例如抓取失败、数据不完整或爬取速度慢等情况,这些问题都会影响到爬虫的效率和稳定性。因此,本文将探讨Scrapy如何提高爬取稳定性和抓取效率。设置请求头和User-Agent在进行网络爬取时,

随着互联网的快速发展,数据库的重要性日益凸显。作为一名Java开发者,我们经常会涉及到数据库操作,数据库事务处理的效率直接关系到整个系统的性能和稳定性。本文将介绍一些Java开发中常用的优化数据库事务处理效率的技巧,帮助开发者提高系统的性能和响应速度。批量插入/更新操作通常情况下,一次向数据库中插入或更新单条记录的效率远低于批量操作。因此,在进行批量插入/更

在任何版本的Windows上,您都会发现少数进程在后台运行,并且即使在空闲状态下也会主动使用系统资源。我们可以使用任务管理器监控活动进程或程序,如果进程减慢系统速度,我们可以使用“结束任务”功能。任务管理器用于性能控制,它可以告诉您后台进程占用了多少资源。这些系统资源包括CPU、RAM、GPU甚至网络带宽。如果应用程序在空闲状态下积极使用系统资源,您可以使用任务管理器的“结束任务”功能来关闭该进程。在Windows11Build22557中,微软正试图实现一项功能,允许用户限制“基于每个应用


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 Linux new version
SublimeText3 Linux latest version

SublimeText3 Chinese version
Chinese version, very easy to use

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Mac version
God-level code editing software (SublimeText3)
