0

net.sf.jasperreports.engine.export をインポートして、車のすべての詳細 (番号、クライアント、コンストラクター、タイプ、色など) をエクスポートしようとしています。すべての情報はデータベースに保存されます。

実際、さまざまな種類のファイル (XML、doc、docx、pdf ..) の生成に成功しました。名前は正しく付けられ、サイズは A4 に設定され、ファイルは正しい場所に配置されます。しかし、すべての行が空で、内部にデータを入力したいです。空白を埋めるためにメソッド fill() を使用し、JasperFillManager を使用したいと思います。しかし、うまくいきません。すべての情報を見つけるために JasperFillManager を使用する方法がわかりません。誰かが私を助けることができますか?

  /**
 * Initializes this method. 
 * 
 * @param model
 * @param pageType
 * @param orientation
 * @param outputType
 * @param destination
 */
private void init(ExportModel model, PAGE_TYPE pageType, 
        PAGE_ORIENTATION orientation,  OUTPUT_TYPE outputType,
        String destination){
    this.model = model;
    this.printerData = new PrinterData();
    this.printerData.setUseSql(false);
    this.printerData.setPageFormat(pageType);
    this.printerData.setPageOrientation(orientation);
    this.printerData.setOutputType(outputType);
    this.printerData.setDestination(destination);

}

クラスのイニシャルです。関数を書きたい:

   public static void fill()
{
    try
    {
        JasperFillManager.fillReportToFile("static.jasper",null,new JREmptyDataSource());   

    } catch(JRException e)
    {
        e.printStackTrace();
    }
}

}

どうもありがとうございました!より良いサンプルコードがあれば!

4

1 に答える 1

1

JREmptyDataSourceフィル マネージャーにa を渡しています。これは文字通りレポートにデータを渡さないことです。他のデータ ソースのいずれかを使用する必要があります。おそらくJRResultSetDataSource. 一般的に使用されるデータ ソースの概要については、リンク を参照してください。

すでにデータベースにクエリを実行して を取得しているjava.sql.ResultSet場合は、それを使用して を作成し、JRResultSetDataSource代わりにそれをフィル マネージャーに渡すことができます。

または、データベース接続を ( として) フィル マネージャーに渡し、java.sql.Connectionレポート デザインに SQL クエリを配置することもできます。

于 2013-02-05T11:37:14.067 に答える