2011-08-30 16 views
9

JasperReports 4.1.1で.xlsxファイルをエクスポートする方法が見つかりません。 クラス:
JasperReportsはxlsxではなくxlsxにエクスポートします

JRXlsExporter 

XLSX相当していません。そして、私は出力フォーマットをxlsからxlsxに設定するパラメータを見つけることができません。

+3

を使用する必要があります。http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/export/ooxml/JRXlsxExporter.html –

+0

@Alexあなたがすべきそれを答えに入れてください。 –

+0

@jschoenよろしくお願いします。 –

答えて

14

XLSXフォーマットへのエクスポートには、JRXlsxExporterクラスを使用する必要があります。

使用してのサンプル:

 JRMapArrayDataSource dataSource = new JRMapArrayDataSource(data); 

     JasperReport jasperReport = JasperCompileManager.compileReport(reportJRXMLSource); 
     JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, dataSource); 

     JRXlsxExporter exporter = new JRXlsxExporter(); 
     exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint); 
     exporter.setParameter(JRXlsExporterParameter.OUTPUT_FILE_NAME, outputFileName); 

     exporter.exportReport(); 
+0

バージョンを上位に更新する必要はありますか? 'jasperreports-3.7.6'を使用しています – NaaN

+1

@tailorBirdバージョン3.7.0にはこのクラスが含まれています。 * JR *の最新バージョンは5.5.1です。 –

+0

ありがとう@Alex K.実際に私は[以前に]質問しました(http://stackoverflow.com/questions/22497343/jrxlsexporter-invalid-row-number-65536-outside -allowable-range)を指定します。私はここで答えを見つけた。これを試みます。 – NaaN

0

JRXlsExporterはJasperReportsの4.5以降のバージョンで利用可能です。

2

あなたがする必要があるのは、このように、要求のパス形式を入れている:

@RequestMapping(value = "/ActivityReport.xlsx", method = RequestMethod.GET) 
public ModelAndView generateActivityReportXLS(HttpServletRequest request, HttpServletResponse response) { 


    List<ActivityDisplay> list = activityManager.listActivities(); 

    Map<String, Object> parameterMap = new HashMap<>(); 
    parameterMap.put("datasource", new JRBeanCollectionDataSource(list)); 
    return new ModelAndView("activitiesXLSView", parameterMap); 
} 
10

この答えは、したがって、JASPER REPORT VERSION> 5.6(最新バージョン)を持つユーザーを支援することです廃止予定のコードを削除してください。

バージョン5.6以降では、JRXlsxExporter.setParameter(..)deprecatedです。

あなたがこれを見たことがありますが

JRMapArrayDataSource dataSource = new JRMapArrayDataSource(data); 

JasperReport jasperReport = JasperCompileManager.compileReport(reportJRXMLSource); 
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, dataSource); 

JRXlsxExporter exporter = new JRXlsxExporter(); 
exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); 
File outputFile = new File("excelTest.xlsx"); 
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outputFile)); 
SimpleXlsxReportConfiguration configuration = new SimpleXlsxReportConfiguration(); 
configuration.setDetectCellType(true);//Set configuration as you like it!! 
configuration.setCollapseRowSpan(false); 
exporter.setConfiguration(configuration); 
exporter.exportReport(); 
関連する問題