5

重複の可能性:
PHP_excel の代替
PHPExcel リーダー — ヘルプが必要

初投稿。PHP/My SQL を使用して非常に大きな (5 MB 以上) Excel ファイルを読み書きする必要があります。私は PHPExcel を使用しましたが、非常に洗練されていますが、速度が遅すぎて、私のニーズに対してあまりにも多くの PHP メモリを使用しています。現時点では、ホストからの 32M PHP メモリに制限されています。

私の現在の解決策は次のとおりです。

データベースへのインポート

私は .xls ファイルにphp-excel リーダー ( http://code.google.com/p/php-excel-reader/ ) を使用しています - PHP がメモリ不足になる前に約 3000 行をインポートできます。
私は .xlsx ファイルにスプレッドシート リーダー ( https://github.com/nuovo/spreadsheet-reader ) を使用しています。これまでのところ、メモリ不足になることなく 5000 行以上を試しました。非常に遅いため、Excelファイルを開いたり閉じたりして、一度にデータのチャンクを読み取っていると思います。

エクスポート中

約 500 行未満の PHP Excel。美しく動作しますが、非常に遅く、32Mb の PHP メモリでは数百行を処理できません (注: キャッシュを使用していますが、これは役に立ちましたが、十分ではありません)。

500 行を超える基本的なタブ区切りテキスト。非常に高速で、行に制限はありませんが、書式設定はなく、真の Excel ではありません。

理想的には、.xls ファイルと .xlsx ファイルをすばやく読み書きできるオールインワン ソリューションを探しています。メモリの問題は発生しません。私は商用製品を気にしません。機能するものに数百ドルを喜んで支払います。

インターネットとこのサイトを何時間もかけて探しましたが、まだ何も見つかりませんでした。

何か案は?

PS:上記のソリューションをどのように実装したかを誰かが知りたい場合は、喜んでコードを共有します

4

5 に答える 5

4

PHPExcel の速度とメモリ要件に不満があるので、この質問に対する私の標準的な回答を紹介します。答えがそこにリストされていない場合、それはおそらく存在しません: そのリストは私が知っている限り包括的です.... ただし、PHPExcel の独自の代替案を書いている人は、最新の状態に保つのが難しいと私に言うことはめったにありません. -日にち

于 2012-10-15T10:14:35.310 に答える
2

私の経験によると、php での Excel の実装はパフォーマンスが良くない (php が 3 時間かけて行っていたことを perl の実装で書くのに 8 分かかりました) ので、結局 Perl を使用することになりました。

メモリ不足の問題について実際にできることは、より高く設定することだけですmemory_limit

于 2012-10-15T10:16:10.363 に答える
0

書き込みについては、 http://pear.php.net/package/Spreadsheet_Excel_Writerを試してみてください。

于 2012-10-15T10:44:23.733 に答える
-1

PHPExcelをお勧めします。操作が簡単で、必要に応じて機能を簡単に変更できます。私はそれをたくさん使ってきましたが、大きな複雑なスプレッドシートでも問題はありませんでした.

于 2012-10-15T10:13:37.983 に答える
-2

PHPExcel クラスこのクラスは次のことができます。

  1. 読んだ
  2. 書きます
于 2012-10-15T10:11:03.083 に答える