この記事では、phpspreadsheet を使用して大きな Excel ファイルを切り出す方法 (コード付き) を紹介します。一定の参考値があります。困っている友人が参考にすることができます。お役に立てれば幸いです。
phpspreadsheet を使用すると Excel ファイルを簡単に解析できますが、phpspreadsheet のメモリ消費量も比較的多くなります。5M 近くの純粋なテキストを解析しようとしましたが、Excel のメモリ使用量は超えてしまいます。デフォルトの最大メモリは 128M です。
もちろん、これはメモリ サイズを調整することで解決できますが、同時実行の量が大きい場合はより危険です。そこで今日は、phpspreadsheet を使用して Excel ファイルを切り取る 2 番目の方法を紹介します。これは時間をスペースと交換する方法なので、適時性の低い要件に一般的に使用できます。
まずphpspreadsheet公式サイトで提供されている関数readCellを置き、この関数を使って切り出しを行います。
最初に Excel ファイルを事前に読み込みます。主にすべてのワークシートとワークシート内のデータ行数を取得します。この段階では、readCell メソッドは常に false を返します。readCell が提供するワークシートを記録するだけで済みます。インチとデータ行の数。
次のステップは、取得したレコードを分析し、元の Excel データの行数をデータの各部分にロードする必要があるかを決定することです。内容の混乱を避けるために、カットしないでください。 2 つのワークシートの内容をまとめます。
最後のステップは、分析されたデータをループし、readCell を再度使用してデータの各部分を取得することです。ファイルを読み取るたびに、disconnectWorksheets メソッドを使用して phpspreadsheet のメモリをクリーンアップする必要があることに注意してください。 。
私自身のテストの結果、この方法を使用して 5M Excel ファイルを解析すると、必要なメモリは平均 21M だけであることがわかりました。
https://github.com/wangyelou/Tools/tree/master/CutExcel
おすすめ関連記事:
PHP を使用して Excel ファイルの内容を読み取り、セル データを取得する方法
PHP での検証コードとサーバー側の検証コードを実装する手順
以上がphpspreadsheet を使用して大きな Excel ファイルを切り取る方法 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。