ホームページ > バックエンド開発 > PHPチュートリアル > 古いトピックです。phpexcel クラスは非常に強力ですが、fputcsv は高速ですが、科学的記数法に関する問題の解決方法がわかりません。経験豊富なドライバーに教えていただきたいです。彼らの経験。

古いトピックです。phpexcel クラスは非常に強力ですが、fputcsv は高速ですが、科学的記数法に関する問題の解決方法がわかりません。経験豊富なドライバーに教えていただきたいです。彼らの経験。

WBOY
リリース: 2016-06-13 12:06:32
オリジナル
1764 人が閲覧しました

古いトピックです...EXCEL をエクスポートするために PHP に関するヘルプが必要です。phpexcel クラスは非常に強力ですが、fputcsv は高速ですが、科学的記法の問題を解決する方法がわかりません。

この投稿の終わり 編集者: anyilaoliu on 2014-08-20 16:39:12 タイトルの通り...

エクスポートされたデータは次のとおりです。現在約 40,000 個、来月には 100,000 個になる可能性があります。4W 個の場合、最終的なエクスポートは約 20M になります。フィールドが多いため、PHPEXCEL を使用していくつかの処理と計算を実行しました。結果のエクスポートには約 3 分かかります。PHP に付属の fputcsv を使用すると、約 1 分で結果が得られます。ただし、ID カードなどの長い数値フィールドがあるため、結果を取得するまでに約 3 分かかります。 FPUTCSV を使用する場合、科学的表記を避けるために各フィールドに t を追加します。ただし、CSV ファイルの各フィールドでは二重引用符が非表示になります。
PHPEXCEL は特定のフィールドをテキスト形式で指定できますが、エクスポート時間が長すぎて顧客が受け入れることができません

現在、プログラムループ自体は可能な限り最適化されていますが、方法はありませんそれをエクスポートするには、次の 2 つの方向のいずれかでサポートを得ることができれば幸いです

1. 上記の機能を満たしながら、PHPEXCEL の使用を最適化または簡素化する

2 CSV をエクスポートすると、科学的表記法で長い数値が表示されないようにすることができます。または、列のセル形式をテキストとして指定できます。

有用なアイデアをいただければ幸いです



--- ---解決策のアイデア------ ---------------

引用:
引用: Quote:
最適化の方法:http://bbs.youyax.com/Content-5058
データが 10,000 個あると仮定します。
10 回に分けてエクスポートし、それぞれ 1,000 個をエクスポートします。
この方法の利点は、長い待ち時間を回避できることです。
ただし、依然として大量のメモリを占有しているように見えるという問題があります。ファイルが大きすぎる場合でも、メモリ不足が報告されます
原則は次のとおりです:
最初に 1000 項目をエクスポート、
再度読み取り、行 1001 を見つけ、
次の 1000 項目のエクスポートを続行、
もう一度読んで、2001 年を見つけてください。
....



合計の時間が減らなければ意味がありませんたくさん~~


メソッドやコードを投稿して見て、調べてください。ただ言うのは少しぎこちないです。Clear
------解決策のアイデア- ----------

1. Excel は 100 万行のレコードをサポートします。Excel 2003 は、最大 65536 行をサポートします。 2007 バージョンでは、104 万行がサポートされています。Excel の制限は 65536 行です。
参考:CSVデータをループで生成し、1000件生成するごとにバッファ期間を更新


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート