Linuxサーバー上のPHPアプリケーションからExcelドキュメントを確実に作成できますか?

StackOverflow https://stackoverflow.com/questions/226052

  •  03-07-2019
  •  | 
  •  

質問

Linuxサーバー上のPHPアプリケーションからExcelドキュメントを生成している状態は何ですか?

Office 97(xls)Excelファイルの作成に興味があります。このテーマに関する私の限られた研究により、この Pearパッケージが見つかりました。 2006年以降、ベータステータスになっているようです。

PHPからExcelファイルを生成する成功または失敗を共有できますか?信頼できる成熟したツールがありますか?

更新:このアプリケーションでは、CSVファイルだけでなくExcelファイルを生成する必要があります。

役に立ちましたか?

解決

PEARパッケージよりもはるかに優れたものがあります!

PHPExcel

他のヒント

この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で作業して、事後に必要な数式を追加できることがわかりました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top