1

バージョン情報:

PHPエクセル - 1.7.8

linux - Linux バージョン 2.6.18-274.12.1.el5 (mockbuild@builder10.centos.org) (gcc バージョン 4.1.2 20080704 (Red Hat 4.1.2-51))

PHP バージョン - 5.3.17

週次レポートの作成に使用する販売レポート テンプレートがあります。出力ファイルのサイズを除いて、すべてが完全に機能します。

入力テンプレートのサイズはわずか 249kb ですが、出力ファイルのサイズは最終的に 4mb を超えます。

データが追加された合計 97 個のセルがあります。データを手動で挿入すると、サイズは正しいままです。

元のテンプレート サイズ - 254,464

手入力出力サイズ - 254,464

PHPExcel 出力サイズ - 4,230,656

コードは 30template.php の例に基づいています。

これを引き起こしている可能性のあるものについてのご意見をお待ちしております。

他の情報が必要な場合は、できる限りお答えします。

4

1 に答える 1

0

ワークシートに期待どおりのデータが含まれている場合は、これについて心配する必要はありません。4MB は、ファイルとしては特に大きくありません。

PHPExcel はファイル エディターではありません。元のファイルにセルをいくつか追加して、結果のサイズに数バイトを追加するだけではありません。ファイルをロードし、そのコンテンツを PHPExcel オブジェクトに変換します。その PHPExcel オブジェクトを変更します。保存すると、その PHPExcel オブジェクトのコンテンツから新しいファイルが書き込まれます。Excel 自体には、スプレッドシート データの保存方法に関するさまざまなオプションと、保存時に非常に効率的に保存するために最適化するためのリソースがあります。PHPExcel は、結果のファイルを最小サイズに最適化する最善の方法を決定するオーバーヘッドなしで、一般的な方法で保存します。たとえば、PHPExcel はワークブックで使用されていない追加の既定のスタイルを保存する場合がありますが、Excel 自体はこれらを破棄する場合があります。使用している形式については言及していません: .xlsx または .xls... 前者は zip 圧縮されています。ただし、ZipArchive で使用される zip 圧縮方法は、Excel で使用される圧縮方法と一致しない場合があります。

このように、保存されたファイルのサイズに影響を与える要因は多数あります。一般的に重要なのは、コンテンツが正しいことです。

于 2012-11-06T21:01:23.607 に答える