2012-01-19 18 views
2

私はextjs 4.0.2aをJavaと共に開発中です。私は、Hibernate/JPAやSpringのようなjavaでいくつかのフレームワークを使用しています。今ではジャスパーレポート設計ツール、すなわちiReportを使用してさまざまなフォーマット(.xls、.pdf)でレポートを生成したいと考えています。私はiReportに精通しています。 jdbc接続を使用して.jrxmlと.jasper形式でiReportファイルを生成しました。extjs4.0.2aとJava + Spring + HibernateとのiReport統合

私は生成されたレポートをJAVAに統合したいので、レポートを.pdfまたは.xls形式で入手できます。 pdf iconをクリックすると、.pdf形式で生成されたレポートをダウンロードできます。

私はExt js 4.0.2a mvcアーキテクチャを使用しています。どのように進行するかを知っている人は私を助けることができます

+0

可能な重複:http://stackoverflow.com/questions/6365045/spring-mvc-3-0-jasper-reports-4-directing-html-reports-in-browser&HTTP ://stackoverflow.com/questions/7567660/inetgrating-ireportwith-large-no-of-sub-reports-with-spring-mvc&http://stackoverflow.com/questions/8239838/whats-the-best-way -to-show-html-reports-by-jasperreport-in-a-jsp –

+0

別のリンク:http://stackoverflow.com/questions/4446666/how-to-set-up-jasper-reports-in- spring-with-subreports –

答えて

0

この問題の解決方法は簡単です。 ExtJsを使用しているので、あなたのコントローラはJavaScriptであると思います。

  1. 保存キーを使用してセッションのレポートは、(milesecondsで時間がかかることが)どんなPDF、XLSでレポート、
  2. リターンキーにを作成するために、Javaサーバの要求を行いますビューとは、あなたがCA XSLするダウンロードしたい場合は

新しいウィンドウがこのhttp://localhost:8080/myApplication/report?key=312312313

のようなURLが含まれている必要があり、レポートのためにサーバーを依頼する新しいウィンドウを開きますnはこれを試してみてください。

private void exportToExcel(HttpServletResponse resp, JasperPrint jasperPrint) throws IOException { 
    String reportfilename = tagreport("file") + "repor.xls"; 
    JExcelApiExporter exporterXLS = new JExcelApiExporter(); 

    exporterXLS.setParameter(JRXlsExporterParameter.JASPER_PRINT,jasperPrint); 
    exporterXLS.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE,Boolean.TRUE); 
    exporterXLS.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE); 
    exporterXLS.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE); 
    exporterXLS.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, resp.getOutputStream()); 
    resp.setHeader("Content-Disposition", "inline;filename="+ reportfilename); 
    resp.setContentType("application/vnd.ms-excel"); 
    try { 
     exporterXLS.exportReport(); 
    } catch (JRException e) { 
     e.printStackTrace(); 
    } 
} 
+0

Henrique私はジャスパーレポートを使用して自分のxlsレポートを生成することができます。今すぐエクスポートボタンをクリックすると、Excelレポートファイルを生成できます。しかし私はそれをダウンロードすることができません。 ** ExtentAjax.request({ url: 'task/GetTaskReportPDF.action'})**を使用してレポートを生成するようにサーバーから要求しています**私は** ontentを取得しています - Disposition \t添付ファイル Content-長さのContent-Type \tアプリケーション/ vnd.ms-エクセル 日\t金、2012年1月20日10時00分49秒GMT サーバーのApache \t-コヨーテ/ 1.1 **ので、私が間違っているの何を許可しないことダウンロードポップアップが来る。 。 –

+0

私は私の答えを編集し、あなたの問題を解決するかどうかチェックしてください! –

+0

ありがとうHenriqueそれは働く。今私は私のpdfレポートgeneredと同じダウンロードウィンドウが欲しい。 ** JRPdfExporterとして変更を加えました。exporterPDF = new JRPdfExporter(); exporterPDF.setParameter(JRExporterParameter.JASPER_PRINT、jasperprint); exporterPDF.setParameter(JRExporterParameter.OUTPUT_STREAM、response.getOutputStream());response.setHeader( "Content-Disposition"、 "inline; filename =" + reportfileName);あなたがダウンロードしたウィンドウを保存または開くことはできません。 –

関連する問題