web-dev-qa-db-ja.com

BIRTレポートの動的な構成と生成

2部構成のYouTubeビデオを見て、BIRTマニュアルを熟読したところ、ワーフローは次のようになっていることがわかりました。

  • Eclipseで新しいレポートを作成する
  • BIRT Report Designer(Eclipseプラグイン)を使用してレポートを設計します
  • レポートにデータソース(JDBCドライバーとデータベース)とデータセット(特定のテーブル)を入力します
  • レポートの生成/エクスポート/印刷

このツールはかっこいいようですが、これがJavaツールであると信じさせるanyドキュメントが見つかりませんEclipseのみツールではありません(つまり、Java APIがあり、Javaアプリとは対照的に、 EclipseIDEからの手動/人間の操作を必要とする純粋なEclipeプラグイン。

具体的には、BIRTが次のことを実行できるかできないかを確認したいと思います。

  • プログラムでレポート(レイアウト、UIウィジェットの配置、データソース/セットなど)を構成します。つまり、JasperReport APIにJRXMLを生成するiReportデザイナーがあるのと同じように、BIRTにも同じことが言えますか?
  • Java APIを介してレポートの「生成」を開始します。これにより、データがリアルタイムで読み込まれ、レポートに入力され、レポートを送信したり、ファイルシステムに保存したりできます。
  • HTMLとPDFバージョンの同じレポートを作成する
12
IAmYourFaja

あなたの質問への回答:

  1. はい。 BIRTはJasperReportsほど強力ではないかもしれませんが、一般的なニーズのほとんどを達成できます。 BIRTデザイナは、JasperReportsのJRXMLと同様の.rptdesignファイルを生成します。

    あなたの質問について:ほとんどすべてがBIRTでプログラム的に達成することが可能です。 BIRT Report Engine API は、言及したすべての機能を開始するための最良のソースです。すべての機能に良い例があります。

  2. わからない。 BIRTは通常、事前に保存されたデータをDBからフェッチし、レポートを生成します。ただし、いくつかの外部ライブラリを使用すると、リアルタイムのデータ表現(フラッシュチャートの形式である可能性があります)を確認できます( this スレッドおよび this の例が役立つかどうかを確認してください) )。しかし、私はリアルタイムデータをPDF/HTMLレポートに直接変換する方法を知りません。あなたはいくつかのハックを見つける必要があります。

  3. はい、もちろん。 APIを参照してください。具体的には、 irendertask

より多くの情報/回答を得るための情報源:

  1. いくつかの レポート例 ウェブサイトで提供されています。それらを一目見れば、より多くの洞察が得られるかもしれません。

  2. ディスカッションとトラブルシューティングについては、 Eclipseコミュニティフォーラム および BIRTExchange (BIRTユーザーが頻繁に使用する)を参照してください。

  3. BIRT:レポートのフィールドガイド は優れた本です。私は時々それを自分で使用しました。

16
Pale Blue Dot

使用したい2つのBIRTコンポーネント(BIRT DesignEngineとReportEngine)が純粋なJavaコンテキストで動作し、Eclipseなしでデプロイ可能であることを確認できます。スタンドアロンのTomcatサーバーとPentahoBIサーバーを使い果たすようにBIRTレポートを展開し、シェルスクリプトを使用してコマンドラインでレポート定義を実行しました(Eclipseは関与していません)。

あなたの質問への回答:

  1. プログラムでレポートを構成します。 Design Engine API を使用します。私はJasperReports APIに精通していないため、BIRTメソッドが類似しているかどうかについてコメントすることはできませんが、 サンプルコード は良い例です。特に、レポートにウィジェットを追加および操作するlines 120-133と、レポートデザインファイルを保存するためにline 136saveAsを呼び出す方法に注意してください。

  2. リアルタイムでレポートを生成します。 レポートエンジン を使用します。 IRunAndRenderTask のサンプルコードは、最初は最も便利かもしれませんが、エンジンには、レポートのデータ処理(抽出と集計)をレンダリングとページングから分離する機能があります。例はサーブレットからのレポートの実行に焦点を当てていると思いますが、サーブレットコンテナロジックからそのロジックを抽出するのは簡単です。

  3. HTMLバージョンとPDFバージョンの両方を作成:レポートエンジンで IRenderTask を介して簡単に処理できます。他のすべてのセットアップ作業が完了したら、出力形式を次のように変更します。生成PDF vs HTMLは喜びのようなものです。私の経験では、それはうまく機能します。

コマンドラインから呼び出されるテストレポートを実行するには、非常に単純なJavaクラス( ここでは非常に古いコード から採用))から始めると便利だと思いました。

4
khoxsey

レポートエンジンAPIを使用して、レポートを構成できます。 http://www.Eclipse.org/birt/phoenix/deploy/reportEngineAPI.php#ireportrunnable

レポートを生成するためにURLに変数を設定するか、プログラムでレポートエンジンを使用する場合は、HTMLまたはPDFバージョンのレポートを作成できます。

http://www.Eclipse.org/birt/phoenix/deploy/reportEngineAPI.php#irendertask

Eclipseを使用してレポートを作成および設計します。レポートエンジンはreports_warの一部としてデプロイされ、warにはデータベースへの独自の接続があります。 JavaベースのWebアプリケーションは、URLを使用してレポートテンプレートを操作します(変数はURLに設定されます)。

BIRT Exchange 詳細については良い場所です

1
gebuh

BirtにはEclipseプラグインがあることを除いて、設計の観点からはBirtとjasperの間に大きな違いはありません。

1)はい、Javaプログラムまたはメソッドで構成できます。

2)はい、これは可能です。

3)レポートをさまざまな形式でエクスポートする場合も、Javaによるbirtレポートは簡単です。

0
Reetika