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

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

Jun 13, 2016 pm 12:06 PM
excel head nbsp phpexcel

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

本帖最后由 anyilaoliu 于 2014-08-20 16:39:12 编辑 如题...

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

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

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

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

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

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

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


------解决思路----------------------
引用:
Quote: 引用:

优化的一种方法:
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 条的时候刷新下缓冲期
<br />$fp = fopen('php://output', 'a');<br /><br />// 输出Excel列名信息<br />$head = array("电子邮件");<br />foreach ($head as $i => $v) {<br />    // CSV的Excel支持GBK编码,一定要转换,否则乱码<br />    $head[$i] = iconv('utf-8', 'gbk', $v);<br />}<br /><br />// 将数据通过fputcsv写到文件句柄<br />fputcsv($fp, $head);<br /><br />// 计数器<br />$cnt = 0;<br />// 每隔$limit行,刷新一下输出buffer,不要太大,也不要太小<br />$limit = 100000;<br /><br />// 逐行取出数据,不浪费内存<br />$count = count($email);<br /><br />for($t=0;$t<$count;$t++) {<br /><br />    $cnt ++;<br />    if ($limit == $cnt) { //刷新一下输出buffer,防止由于数据过多造成问题<br />        ob_flush();<br />        flush();<br />        $cnt = 0;<br />    }<br />    $row[] = $email[$t];<br />    foreach ($row as $i => $v) {<br />        $row[$i] = iconv('utf-8', 'gbk', $v);<br />    }<br />    fputcsv($fp, $row);<br />    unset($row);<br />}<br /><br />2.长数字,可以再导出的时候,在前面预加个空格,这个就不以长度计数形式导出,而是以文本形式导出。<br />
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1662
14
PHP-Tutorial
1261
29
C#-Tutorial
1234
24
Was soll ich tun, wenn die Rahmenlinie beim Drucken in Excel verschwindet? Was soll ich tun, wenn die Rahmenlinie beim Drucken in Excel verschwindet? Mar 21, 2024 am 09:50 AM

Wenn wir beim Öffnen einer Datei, die gedruckt werden muss, feststellen, dass die Tabellenrahmenlinie aus irgendeinem Grund in der Druckvorschau verschwunden ist, müssen wir uns rechtzeitig darum kümmern, wenn dies auch in Ihrem Ausdruck erscheint file Wenn Sie Fragen wie diese haben, dann schließen Sie sich dem Editor an, um den folgenden Kurs zu erlernen: Was soll ich tun, wenn die Rahmenlinie beim Drucken einer Tabelle in Excel verschwindet? 1. Öffnen Sie eine Datei, die gedruckt werden muss, wie in der Abbildung unten gezeigt. 2. Wählen Sie alle erforderlichen Inhaltsbereiche aus, wie in der Abbildung unten dargestellt. 3. Klicken Sie mit der rechten Maustaste und wählen Sie die Option „Zellen formatieren“, wie in der Abbildung unten gezeigt. 4. Klicken Sie oben im Fenster auf die Option „Rahmen“, wie in der Abbildung unten gezeigt. 5. Wählen Sie links das dünne, durchgezogene Linienmuster im Linienstil aus, wie in der Abbildung unten gezeigt. 6. Wählen Sie „Äußerer Rand“

So filtern Sie in Excel mehr als 3 Schlüsselwörter gleichzeitig So filtern Sie in Excel mehr als 3 Schlüsselwörter gleichzeitig Mar 21, 2024 pm 03:16 PM

Excel wird im Büroalltag häufig zur Verarbeitung von Daten verwendet und es ist oft notwendig, die Funktion „Filter“ zu nutzen. Wenn wir uns für die „Filterung“ in Excel entscheiden, können wir nur bis zu zwei Bedingungen für dieselbe Spalte filtern. Wissen Sie also, wie man in Excel mehr als drei Schlüsselwörter gleichzeitig filtert? Lassen Sie mich es Ihnen als Nächstes demonstrieren. Die erste Methode besteht darin, die Bedingungen schrittweise zum Filter hinzuzufügen. Wenn Sie drei qualifizierende Details gleichzeitig herausfiltern möchten, müssen Sie zunächst eines davon Schritt für Schritt herausfiltern. Zu Beginn können Sie anhand der Konditionen zunächst Mitarbeiter mit dem Namen „Wang“ herausfiltern. Klicken Sie dann auf [OK] und aktivieren Sie dann in den Filterergebnissen die Option [Aktuelle Auswahl zum Filter hinzufügen]. Die Schritte sind wie folgt. Führen Sie die Filterung ebenfalls separat erneut durch

So ändern Sie den Kompatibilitätsmodus für Excel-Tabellen in den Normalmodus So ändern Sie den Kompatibilitätsmodus für Excel-Tabellen in den Normalmodus Mar 20, 2024 pm 08:01 PM

Bei unserer täglichen Arbeit und beim Lernen kopieren wir Excel-Dateien von anderen, öffnen sie, um Inhalte hinzuzufügen oder sie erneut zu bearbeiten, und speichern sie dann. Manchmal wird ein Dialogfeld zur Kompatibilitätsprüfung angezeigt, was sehr problematisch ist Software, kann es in den Normalmodus geändert werden? Im Folgenden wird Ihnen der Herausgeber detaillierte Schritte zur Lösung dieses Problems vorstellen. Lassen Sie uns gemeinsam lernen. Denken Sie abschließend daran, es zu speichern. 1. Öffnen Sie ein Arbeitsblatt und zeigen Sie im Namen des Arbeitsblatts einen zusätzlichen Kompatibilitätsmodus an, wie in der Abbildung dargestellt. 2. In diesem Arbeitsblatt wird nach dem Ändern des Inhalts und dem Speichern immer das Dialogfeld des Kompatibilitätsprüfers angezeigt. Es ist sehr schwierig, diese Seite zu sehen, wie in der Abbildung gezeigt. 3. Klicken Sie auf die Office-Schaltfläche, klicken Sie auf Speichern unter und dann

So setzen Sie in Excel hochgestellt So setzen Sie in Excel hochgestellt Mar 20, 2024 pm 04:30 PM

Bei der Verarbeitung von Daten stoßen wir manchmal auf Daten, die verschiedene Symbole wie Vielfache, Temperaturen usw. enthalten. Wissen Sie, wie man in Excel hochgestellte Zeichen setzt? Wenn wir Excel zum Verarbeiten von Daten verwenden und keine hochgestellten Zeichen setzen, wird die Eingabe vieler unserer Daten schwieriger. Heute stellt Ihnen der Editor die spezifische Einstellungsmethode für Excel-Hochstellung vor. 1. Öffnen wir zunächst das Microsoft Office Excel-Dokument auf dem Desktop und wählen Sie den Text aus, der hochgestellt werden soll, wie in der Abbildung gezeigt. 2. Klicken Sie dann mit der rechten Maustaste und wählen Sie die Option „Zellen formatieren“ im Menü, das nach dem Klicken erscheint, wie in der Abbildung gezeigt. 3. Als nächstes im Dialogfeld „Zellen formatieren“, das automatisch angezeigt wird

So verwenden Sie die iif-Funktion in Excel So verwenden Sie die iif-Funktion in Excel Mar 20, 2024 pm 06:10 PM

Die meisten Benutzer verwenden Excel, um Tabellendaten zu verarbeiten. Abgesehen von Experten haben nicht viele Benutzer diese Funktion beim Schreiben in VBA verwendet Die Funktionen der Funktionen sind ähnlich. Lassen Sie mich Ihnen die Verwendung der iif-Funktion vorstellen. Es gibt iif-Funktionen in SQL-Anweisungen und VBA-Code in Excel. Die iif-Funktion ähnelt der IF-Funktion im Excel-Arbeitsblatt. Sie führt eine Beurteilung von wahren und falschen Werten durch und gibt unterschiedliche Ergebnisse basierend auf den logisch berechneten wahren und falschen Werten zurück. IF-Funktionsverwendung ist (Bedingung, ja, nein). IF-Anweisung und IIF-Funktion in VBA Die erstere IF-Anweisung ist eine Steueranweisung, die je nach Bedingungen unterschiedliche Anweisungen ausführen kann, während die letztere

So geben Sie den Index in Excel ein So geben Sie den Index in Excel ein Mar 20, 2024 am 11:31 AM

eWir verwenden häufig Excel, um einige Datentabellen usw. zu erstellen. Manchmal müssen wir bei der Eingabe von Parameterwerten eine bestimmte Zahl hochstellen oder tiefstellen Schauen Sie sich die detaillierten Schritte an: 1. Hochgestellte Methode: 1. Geben Sie zunächst a3 (3 ist hochgestellt) in Excel ein. 2. Wählen Sie die Zahl „3“, klicken Sie mit der rechten Maustaste und wählen Sie „Zellen formatieren“. 3. Klicken Sie auf „Hochgestellt“ und dann auf „OK“. 4. Schauen Sie, der Effekt ist so. 2. Tiefgestellte Methode: 1. Geben Sie ähnlich wie bei der hochgestellten Einstellungsmethode „ln310“ (3 ist der tiefgestellte Index) in die Zelle ein, wählen Sie die Zahl „3“ aus, klicken Sie mit der rechten Maustaste und wählen Sie „Zellen formatieren“. 2. Aktivieren Sie „Tiefstellen“ und klicken Sie auf „OK“.

Wo wird der Excel-Lesemodus eingestellt? Wo wird der Excel-Lesemodus eingestellt? Mar 21, 2024 am 08:40 AM

Beim Studium von Software sind wir es gewohnt, Excel zu verwenden, nicht nur, weil es praktisch ist, sondern auch, weil es eine Vielzahl von Formaten erfüllen kann, die in der tatsächlichen Arbeit benötigt werden, und Excel sehr flexibel zu verwenden ist, und es gibt einen Modus dafür Praktisch zum Lesen. Heute habe ich für alle mitgebracht: Wo man den Excel-Lesemodus einstellt. 1. Schalten Sie den Computer ein, öffnen Sie dann die Excel-Anwendung und suchen Sie die Zieldaten. 2. Es gibt zwei Möglichkeiten, den Lesemodus in Excel festzulegen. Der erste: In Excel gibt es eine Vielzahl praktischer Verarbeitungsmethoden, die im Excel-Layout verteilt sind. In der unteren rechten Ecke von Excel gibt es eine Verknüpfung zum Festlegen des Lesemodus. Klicken Sie darauf, um in den Lesemodus zu gelangen. Auf der rechten Seite des Kreuzstrichs befindet sich eine kleine dreidimensionale Markierung .

So fügen Sie Excel-Symbole in PPT-Folien ein So fügen Sie Excel-Symbole in PPT-Folien ein Mar 26, 2024 pm 05:40 PM

1. Öffnen Sie die PPT und blättern Sie zu der Seite, auf der Sie das Excel-Symbol einfügen müssen. Klicken Sie auf die Registerkarte Einfügen. 2. Klicken Sie auf [Objekt]. 3. Das folgende Dialogfeld wird angezeigt. 4. Klicken Sie auf [Aus Datei erstellen] und dann auf [Durchsuchen]. 5. Wählen Sie die einzufügende Excel-Tabelle aus. 6. Klicken Sie auf OK und die folgende Seite wird angezeigt. 7. Aktivieren Sie [Als Symbol anzeigen]. 8. Klicken Sie auf OK.

See all articles