我有一个 A4 大小格式的报告,可以生成一个 Excel 报告。问题是在生成 excel 时,单元格不会水平扩展。当文本大于单元格宽度时,即使 Excel 工作表仍保持 A4 大小。
我尝试使用以下代码修改页面高度和宽度:
if (this.jasperPrint != null) {
this.jasperPrint.setPageHeight(10000);
this.jasperPrint.setPageWidth(100000);
jasperPrint.setOrientation(jasperReport.ORIENTATION_LANDSCAPE);
xlsexporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, this.jasperPrint);
xlsexporter.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, exceloutputStream); //and output stream
xlsexporter.setParameter(JRXlsExporterParameter.MAXIMUM_ROWS_PER_SHEET, 65536);
xlsexporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
xlsexporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
xlsexporter.setParameter(JRXlsExporterParameter.IGNORE_PAGE_MARGINS, Boolean.TRUE);
xlsexporter.setParameter(JRXlsExporterParameter.IS_IGNORE_CELL_BORDER, Boolean.TRUE);
xlsexporter.setParameter(JRXlsAbstractExporterParameter.IS_COLLAPSE_ROW_SPAN, Boolean.FALSE);
xlsexporter.setParameter(JRXlsAbstractExporterParameter.IS_FONT_SIZE_FIX_ENABLED, Boolean.TRUE);
xlsexporter.setParameter(JRXlsAbstractExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNS, Boolean.TRUE);
try {
xlsexporter.exportReport();
} catch (JRException e) {
logger.error("generateExcel():Exception in Exporting Excel report" + e);
}
this.jasperPrint = null;
}
如果有人能指导我如何实现这一目标,那就太好了。
提前致谢