JasperReport在Xlsx和Xls中生成不可读的内容

时间:2018-04-05 17:45:46

标签: java jasper-reports export-to-excel

我们目前在Java应用程序中使用TIBCO Jaspersoft Studio,jasperreports-6.5.1librarу。当我们使用JRXlsExporterJRXlsxExporter导出报告时,我们会弹出一个文本Excel found unreadable content in 'xxx.xls'. Do you want to recover the contents of this workbook? If you trust the source of this workbook, click yes.的弹出窗口。

当我们从Jaspersoft Studio预览中运行相同的报告时,我们会获得Excel文件,该文件无误地打开。我们只是在xlsx文件的style.xml中解决了这个问题。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

至少我发现了原因。这是因为Excel不支持日期格式" EEEEE和MMMMM yyyy"这是在jrxml文件中使用的。所以java代码

 SimpleXlsxReportConfiguration configuration = new SimpleXlsxReportConfiguration();
 Map<String, String> dateFormats = new HashMap<String, String>();
 dateFormats.put("EEEEE dd MMMMM yyyy", "ddd, mmm d, yyyy");
 configuration.setFormatPatternsMap(dateFormats);
 XlsxExporter.setConfiguration(configuration);
 XlsxExporter.exportReport();

解决了这个问题。我希望它有助于其他人