0

OpenOfficeスプレッドシートファイル(別名ods)で複数のシートを含むレポートを実行するためにPHPを作成する方法を解決しようとしています。ここで、このコードを使用してOpenOfficeスプレッドシートレポートを生成しましたが、表示できるシートは1つだけです。

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

どうすればこの問題を解決できますか?

4

1 に答える 1

0

PHP 内でスプレッドシート ファイルまたはワークブック (シートのコレクション) を作成、編集、提供するために使用できるライブラリは数多くあります。実際には、スプレッドシート ファイルはワークブックです。 1枚)。よく知られているものもあれば、あまり知られていないものもあります。

ほとんどの人は次のことを指摘します。

このような質問に対する回答は他にもいくつかありますが、膨大な数のライブラリとオプションがあります。

PHP のシンプルで小型の openDocument フォーマット エディターとして私が個人的に選んだのは、ods-php でした。これは、アプリケーションに含めてインスタンス化する単一の php ファイルです。私の用途は、ODS ドキュメントを作成することではなく、テンプレート ファイルを編集し、編集したドキュメントを提供することです。独自のヘッダーを作成し、PHP アプリケーションの独自の関数でファイルの内容をエコーする必要がありますが、それはまったく難しいことではありません。

関数のいくつかを示す ods-php ダウンロードに [非常に] 基本的なサンプル php ファイルが含まれていますが、基本的な PHP ロジックに従うことができる場合は、ライブラリ ソースを調べて、その使用可能な関数を把握することができます。必要なものには十分対応できると思います。

一方、より大きな API を自由に使用したい場合や、サーバーがそれを処理するのに十分な場合は、他の 3 つのいずれかをお勧めします。他の 3 つは比較的大きく、それぞれに長所と短所があることに注意してください。

PHPExcel はおそらく無料のコミュニティで最も使用されており、常に github で維持されています (最後に混乱したのは 6 日前です) が、かなり大きいです。ドキュメントは github サイトで入手できます (github にリンクする古いリンクを提供しました)。

Spreadsheet_Excel_Writer は Pear のツールであり、メンテナンスはされていませんが、同じくらい大きいので、「そのまま」のものがあります。Pear チームはメンテナンスを引き継いでくれる人を探していますが、私が知る限り、機能しているとは言えません。

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

間違いなくもっと多くのライブラリとツールがありますが、これらは私が検索で見つけた最も注目すべきものです。私の選択は、サーバーを小さくスタンドアロンに保つという原動力によって導かれました (それはラズベリーパイで動作します)。かさばる実稼働環境 API を選択する場合、M$ の常に適応するフォーマットで最新の状態を維持するために必要なサポートがあるため、おそらく PHPExcel を選択するでしょう。

于 2015-11-21T08:13:02.377 に答える