Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie PHPSpreadsheet zum Schneiden großer Excel-Dateien (mit Code)

So verwenden Sie PHPSpreadsheet zum Schneiden großer Excel-Dateien (mit Code)

不言
不言Original
2018-08-06 10:19:043290Durchsuche

Dieser Artikel stellt Ihnen vor, wie Sie PHP-Tabellen zum Schneiden großer Excel-Dateien verwenden (mit Code). Ich hoffe, dass er Ihnen als Referenz dienen wird.

Hintergrund:

Mit PHPSpreadsheet können Excel-Dateien problemlos analysiert werden, aber der Speicherverbrauch von PHPSpreadsheet ist auch relativ groß. Ich habe versucht, fast 5 MB reinen Text zu analysieren, und der Speicherverbrauch von Excel wird größer sein der von PHP. Der standardmäßige maximale Speicher beträgt 128 MB.
Natürlich kann dies durch Anpassen der Speichergröße gelöst werden, aber es ist gefährlicher, wenn die Parallelität groß ist. Deshalb werde ich heute die zweite Methode vorstellen, die Verwendung von PHPSpreadsheet zum Ausschneiden der Excel-Datei. Dabei handelt es sich um eine Methode zum Austausch von Zeit gegen Speicherplatz, sodass sie im Allgemeinen bei geringen Aktualitätsanforderungen verwendet werden kann.

Methode:

Fügen Sie zunächst eine Funktion readCell ein, die von der offiziellen PHP-Spreadsheet-Website bereitgestellt wird. Mit dieser Funktion können wir das Schneiden durchführen.

Lesen Sie zunächst die Excel-Datei vor, hauptsächlich um alle Arbeitsblätter und die Anzahl der Datenzeilen unter den Arbeitsblättern zu ermitteln. Zu diesem Zeitpunkt gibt die readCell-Methode immer „false“ zurück. Wir müssen nur die Arbeitsblätter aufzeichnen readCell kommt herein. und die Anzahl der Datenzeilen.

Anschließend werden die erhaltenen Datensätze analysiert, um zu bestimmen, wie viele Zeilen der ursprünglichen Excel-Daten in jeden Teil der Daten geladen werden müssen. Es ist zu beachten, dass der Inhalt nicht abgeschnitten wird, um inhaltliche Verwirrung zu vermeiden die beiden Arbeitsblätter zusammen.

Der letzte Schritt besteht darin, die analysierten Daten zu durchlaufen und readCell erneut zu verwenden, um jeden Teil der Daten abzurufen. Beachten Sie, dass jedes Mal, wenn die Datei gelesen wird, die Methode „disconnectWorksheets“ verwendet werden muss, um den Speicher von phpspreadsheet zu bereinigen .

Nach meinen eigenen Tests habe ich herausgefunden, dass die Verwendung dieser Methode zum Parsen einer 5 MB großen Excel-Datei nur durchschnittlich 21 MB Speicher erfordert!

Code:

 https://github.com/wangyelou/Tools/tree/master/CutExcel

Empfohlene verwandte Artikel:

So verwenden Sie PHP, um den Inhalt von Excel-Dateien zu lesen und Zelldaten zu erhalten

Schritte zum Implementieren von Bestätigungscode in PHP und serverseitigem Bestätigungscode

Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHPSpreadsheet zum Schneiden großer Excel-Dateien (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:Architekturanalyse von SwooleNächster Artikel:Architekturanalyse von Swoole