2012-03-02 12 views
0

OpenOfficeスプレッドシートファイル(AKA ods)で複数のシートを含むレポートを実行するためにPHPを書く方法を解決しようとしています。今、私はOpenOfficeのスプレッドシートのレポートを生成するためにこのコードを使用するが、それは一枚だけ表示することができます。私は、この問題を解決するにはどうすればよいOpenOfficeスプレッドシートファイルに複数のシートを書き込む

<?php 
// Export Calc SpreadSheet 
header("Content-Type: application/vnd.ms-excel"); 
header('Content-Disposition: attachment; filename="Report.ods"'); 
?> 

を?

+0

どのように実際にodsファイルを作成していますか?あるいは単にHTMLマークアップを生成し、PHPが自動的にods形式のファイルに変換すると仮定していますか? –

+0

odsファイルを自動的に生成するいくつかのパラメータをPHPに送信するためのフォームを作成します。これで、1回のodsファイルで毎回1枚のシートしか生成できませんが、私の指摘は毎回1つのodsファイルに複数のシートを生成することです。どのように私はこれを行うことができますか? – Ponomy

+1

OK!あなたの答えから推測すると、odsファイルはHTMLマークアップの魔法によって作成されていると仮定しています。単に実際のodsファイルを書くことができるライブラリを探す必要があります。単純にヘッダーを設定して、HTMLやodsを読むことができるようにCalcの寛大さを信頼するのではなく、あなたのことを騙そうとしていると不満を持ちません。私はodsライブラリを認識していませんが、代わりにExcelライブラリを使用できますか? - http://stackoverflow.com/questions/3269345/how-to-generate-an-excel-document-with-multiple-worksheets-from-php/3269351#3269351 –

答えて

0

シートの集合ですスプレッドシートファイル、またはワークブックを(作成、編集、およびアップ提供するためにPHP内で使用されることが可能であるそこに多くのライブラリは、実際にスプレッドシートファイルをワークブックにも、IS ...がありますそれが単なるシートの場合)。非常によく知られているものとそうではないものがあります。

ほとんどの人がこれらを指すようになります:

このような質問にはもう少し答えがありますが、難しい数のライブラリとオプションがあります。 PHPで簡単な、小さな、のopenDocument形式のエディタの

私の個人的な選択は、あなたのアプリケーションに含まれ、インスタンス化し、単一のPHPファイルであるODS-PHP、でした。私は、ODSドキュメントを作成するのではなく、テンプレートファイルを編集して、編集されたドキュメントを提供することができます。独自のヘッダーを記述し、PHPアプリケーションの独自の関数でファイルの内容をエコーする必要がありますが、それは全く難しくありません。

ods-phpのダウンロードには、いくつかの機能を示す[非常に]基本的なPHPファイルが含まれていますが、基本的なPHPロジックに従うことができれば、ライブラリのソースを調べて、 。私はそれがあなたが必要とするもののためだけにうまくいくと言うでしょう。

あなたではなくあなたの処分で大きなAPIを持っているでしょうし、あなたのサーバーがそれを処理するのに十分なまともである一方、私は他の三つのいずれかをお勧めします。

PHPExcelは、おそらくフリーコミュニティで最も多く使われているもので、継続的にgithubで管理されています(最後に6日間混乱しています)。前)、かなり大きいです。ドキュメントはgithubサイトで入手できます(古いリンクを提供しました。これはgithubにリンクしています)。

Spreadsheet_Excel_Writerは、梨のツールであり、それはもはやそう「と-は」何があるされ、維持されているが、同じように大規模ではありません。 Pearチームはメンテナンスを引き継ぐ人物を探していますが、私が働くことができる限り、そこには何がありますか?

openTBSは、TBSエンジン(TinyButStrong)の単一クラスライブラリ拡張です。 openTBSを使用するにはTBSをインストールする必要があります。ファイルの圧縮機能にzlibを有効にすることは非常に良い考えです。 openTBSを使用すると、XMLベースのドキュメントを作成できるだけでなく、TBSエンジン全体の機能を自由に使えるようになります。これは、htmlソーステンプレートをPHPスクリプトとマージしたい場合には非常に便利ですサイトをチェックすると、新しいフロンティアが開かれるかもしれません)。

そこにはもっと多くのライブラリとツールがありますが、これは検索で見つかった最も顕著なものです。私の選択は、私のサーバーを小さくてスタンドアローン(ラズベリーパイで動作)に保つための原動力に導かれました。かさばるプロダクション環境APIを選択する場合は、PHPExcelを選択することになります。これは、M $のこれまでのフォーマットに合わせて最新の状態を維持する必要があるためです。

関連する問題