java - JasperReports xlsx 导出错误 - 不可读的内容 - 为什么?

标签 java jasper-reports xls xlsx

每当我的交叉表报告的结果超过 702 列(ZZ 列)时,从 Excel 收到“不可读内容”错误。当少于此列数时 - 没有错误。有限制吗? XLSX 应处理 16,000 多个列。

我们使用的是 JasperReports v4.0.1 和 POI 3.6。我尝试使用 JasperReports v4.7 和 POI 3.7 重现了同样的问题。

感谢任何帮助或见解。

导出代码:

JRXlsxExporter xlsExporter = new JRXlsxExporter();

File fileP = new File(_workdir + report_name + ".jrprint");
JasperPrint jasperPrint = (JasperPrint)
JRLoader.loadObject(fileP);

xlsExporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
xlsExporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
xlsExporter.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);
xlsExporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
xlsExporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNS, Boolean.TRUE);
xlsExporter.setParameter(JRXlsExporterParameter.IS_COLLAPSE_ROW_SPAN, Boolean.TRUE);

xlsExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
xlsExporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, _outputName);
System.out.println("Exporting Excel Report to " + _outputName);
xlsExporter.exportReport();
System.out.println("Export Complete.");

最佳答案

尝试使用它,

JRXlsxExporter jrXlsxExporter=new JRXlsxExporter();
jrXlsxExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
jrXlsxExporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "export.xlsx");
jrXlsxExporter.exportReport();

关于java - JasperReports xlsx 导出错误 - 不可读的内容 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15024396/

相关文章:

java - 将嵌套对象发送到 Jaspersoft iReport

php - 找不到类 "XSLTProcessor'

excel - MS Access 将 .csv 转换为 .xls

java - 最小化应用程序android

java - Java 中 Thread.sleep() 的 Junit 测试

java - 碧 Jade 报告 : How to compile subreports

jasper-reports - 如何在 Jasper Reports 中将页脚设置到每一页的底部?

perl - 使用 R 包 gdata 时的路径规范

java - 嵌套通用子类型

java - 如何在 JavaFX 中将文本字段的选择边框设置为某种颜色?