2

毎日、自分のサイトの Excel でいくつかの価格表を自動的に更新する必要があります。そのために PHPExcel を使用しましたが、40000 行 11 列しかない 1 つのファイルを生成するのに大量のメモリ (約 900 Mb) が必要であり、私の Linux ホスティング サーバーでは使用できません。すべての Google の結果は、PHPExcel のみを指しています。同じことを実行できるが、メモリの消費量が少ないコマンドラインユーティリティがあるのではないかと思います。そのため、cronを使用してLinuxサーバーで実行できますか? Excel ファイルでいくつかの書式設定と数式を使用する必要があります。これにより、CSV と HTML が非オプションになります。

もちろん、Windows Server マシンから MySQL に接続し、そこで実際の Excel で Excel ファイルを生成してからサーバーにアップロードすることもできますが、このオプションは私には非常にハックに思えます。

追加: 私は現在、PERL、Python、および Java モジュールのいずれかを決定しており、大きなファイルで消費するリソースが少なく、使いやすいものを選択しています。このトピックに関するコメントは大歓迎です。また、その他のソリューションも受け入れられます。

4

5 に答える 5

2

Java とApache POIの使用を検討する必要があります

パフォーマンスは良好で、Windows 上の MS Office 相互運用機能アセンブリよりも優れています (私自身の経験に基づく)。

また、ユーザーの大きなコミュニティがあります。

于 2012-05-29T16:28:17.307 に答える
1

PERLとJohnMcNamaraのモジュールSpreadsheet::WriteExcelを使用して、あらゆる種類の細かいスプレッドシートを生成することで、非常に良い結果が得られました。しかし、プログラミングが必要です。

于 2012-05-29T02:30:15.630 に答える
1

ページの複雑さに応じて、xlsxファイルを手動で作成してみてください。xlsxの仕様は非常に複雑ですが、非常に単純なテーブルを作成する例を見てきました。

おそらく、このリンクが役立つかもしれません。

于 2012-05-29T00:36:23.913 に答える
1

ResultSet から Java 上のTemplaterでビルドしてみることができます。より多くのJavaの例でサイトを更新中ですが、コードはこれに沿ったものになります。

ITemplaterDocument doc = Configuration.Factory.Open(ファイル); doc.process(結果セット); doc.flush();

于 2012-05-29T16:15:18.847 に答える
0

私にとって最も簡単なオプションは、python-excelライブラリを使用することでした。私はPythonで何も書いたことはありませんが、実際にPythonで動作させるのに数時間しかかかりませんでした.PHPExcelよりもはるかに高速に動作し、消費するメモリも少なくて済みます. php)。ただし、同様の問題の解決策を探している場合は、他の回答で提供されているツールもニーズに合う場合があります。

于 2012-06-04T08:12:49.503 に答える