Linuxサーバー上のPHPアプリケーションからExcelドキュメントを確実に作成できますか?
-
03-07-2019 - |
質問
Linuxサーバー上のPHPアプリケーションからExcelドキュメントを生成している状態は何ですか?
Office 97(xls)Excelファイルの作成に興味があります。このテーマに関する私の限られた研究により、この Pearパッケージが見つかりました。 2006年以降、ベータステータスになっているようです。
PHPからExcelファイルを生成する成功または失敗を共有できますか?信頼できる成熟したツールがありますか?
更新:このアプリケーションでは、CSVファイルだけでなくExcelファイルを生成する必要があります。
解決
PEARパッケージよりもはるかに優れたものがあります!
他のヒント
このPEARパッケージを使用しましたが、Office '97 -2000互換のファイルでうまく機能します。
単純なスプレッドシートの場合、OfficeはCSVも処理できます。PHPはネイティブかつ簡単に出力できます。
テーブルを使用して(スプレッドシートはテーブルなので、OKです)、テーブルを生成するPHPスクリプトの上にこれらの行をスローする方法はどうですか:
header("Content-Type: application/vnd.ms-excel");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
または、Excelでうまく開くことができるため、CSVファイルを作成することもできます。
PEARパッケージを使用して多くの成功を収めましたが、複雑な数式を実装する場合にはいくつかの制限があります。これは、Excelが式を保存する方法と、最後に計算された結果に関係しています。数式が正しい場合でも、最初にシートを開くと、セルが空として表示されることがあります。セルにフォーカスが置かれ、その後フォーカスが失われると、計算が実行され、セルにデータが入力されます。
ライブラリは実際にはperlライブラリのポートであり、若干完全ですが、同じ問題があります。
いくつかのプロジェクトでPERL Spreadsheet :: WriteExcelを問題なく使用しました。機能を強化して簡単にするために、いくつかの修正とラッパーを作成する必要があるかもしれませんが、私は大丈夫だと思います。
プラットフォームに依存せず、高速で簡単にセットアップできるため、気に入っています。
実際に最も簡単な方法は、ヘッダーを「偽」に使用することです。 Excelファイル。 Excelファイルとしてダウンロードを開始するコードは次のとおりです。クライアントのExcelは、見つかったHTMLコード(テーブル、csvなど)を解析して、Excelに似た形式で表示します。
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=excel.xls");
現在、すべてがベータステータスになっています。フォーラムでExcelファイルを実際に必要としますか、それともExcelで作業するためにレコードのリストを開くだけですか?
通常、クライアントがExcelファイルを必要とする場合、CSVファイルを生成するだけで、Excelで作業して、事後に必要な数式を追加できることがわかりました。