2012-08-03 5 views
6

私は、次のテンプレートのように見えるExcelシートのレポートを生成する必要があります。しかし、これを達成する方法があるかどうかは、メールを送信するためのテンプレートApache Velocityを書くのと同じようなテンプレートを書くことによって知りたいと思います。Javaでシートのレポートを作成するベストプラクティスは何ですか?私はこれが<strong><code>JExcelApi</code></strong>と<code>Apache POI</code></strong><strong>のようなライブラリを使用して行うことができます知っている <img src="https://i.stack.imgur.com/3zpnR.gif" alt="Excel Report"></p> <p>から

このようなレポートを生成するための標準的で実践的なアプローチがあれば、それは何ですか?

+0

これに続くテンプレート?? – Sikorski

+0

アップロードされた画像は、私が 'テンプレート'と言ったときのものでした。 – ping

答えて

7

Excelを使用してスタイル付きテンプレートを作成してみませんか?置換する必要がある値にはプレースホルダ($ {name.of.field}など)を使用しますが、必要に応じてすべてをスタイルします。別のプレースホルダを使用してテンプレートの終わりをマークします(テンプレートを文書化するために、このスペース以外のコメントやその他のデータを書くことができます)。その後

、どちらかはJExcelAPIまたはApache POI、

  • を経由して、テンプレートファイルを開き、そして終了のテンプレートマーカーを探します。
  • 、各レコードのターゲットファイル
  • を開き、テンプレートからフィールドをコピーし、$ {XYZ}を代入することは彼らの実際の内容 、あなたの終わりのテンプレートマーカーに達すると停止する - 値。
  • 近いターゲット&テンプレート

テンプレートの変更が非常に簡単になります。唯一の問題は、フィールド名を同期させておくことです。

+0

Upvoted。いいですね。私はこの選択肢があるかどうかを確認するために、この問題について奨励金を出したいと思います。ありがとう! – ping

+0

JXLSを使用するのと異なる「スタイル付きテンプレート」の作成方法は?そうでない場合は、あなたの答えを編集してJXLSの言及を含めてください。 – ping

+0

新しいExcel文書を開きます。あなたの心のコンテンツにそれをフォーマットします。プレースホルダで埋めてください。それを複製し、後でプレースホルダを埋め込むので、それを「テンプレート」と呼んでください。それがJXLSの場合、私の提案はそれを使用しないことです:必要はどこですか? :-) – tucuxi

1

i-net Clear Reportsのような標準Javaレポートライブラリを使用し、Excel出力形式を使用できます。

+0

ジョブを完了させるオープンソースライブラリがある限り、適切なソフトウェアは私の選択肢ではありません。しかし、ありがとう。 – ping

関連する問題

 関連する問題