我使用DynamicJasper
生成Excel工作表。我在日期列值之前遇到了撇号的一些困难。
我这样定义了我的专栏:
AbstractColumn dateColumn = ColumnBuilder.getNew().setColumnProperty(
title.getUniqueId(), Date.class.getName()).setTitle(title.getTitle()).
setWidth(150).setFixedWidth(false).setPattern("dd MMM yyyy").build();
drb.addColumn(dateColumn);
然后将适当的日期值添加到我的地图.....
一切都很好,除了excel列中的每个日期都是带有前导撇号的字符串这一事实,并且该列未被格式化为包含日期。
撇号如何到达那里?为什么列不格式化为日期?
我很感激任何指示。
答案 0 :(得分:3)
问题解决了。
问题在于我出口的方式,我原先告诉jasperReports没有检测到细胞类型。
因此,修复方法是将 JRXlsExporterParameter.IS_DETECT_CELL_TYPE
设置为 TRUE
。< / p>
EG
JRXlsExporter exporterxls2 = new JRXlsExporter();
exporterxls2.setParameter(JRXlsExporterParameter.IS_COLLAPSE_ROW_SPAN, Boolean.TRUE);
exporterxls2.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNS, Boolean.TRUE);
exporterxls2.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
exporterxls2.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
exporterxls2.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);
exporterxls2.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
exporterxls2.setParameter(JRXlsExporterParameter.IS_IGNORE_GRAPHICS, Boolean.FALSE);
exporterxls2.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrints);
exporterxls2.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, reportFile.getPath());
我认为你们中的一些人可能正在使用外部文件来配置导出,在这种情况下,要包含的行是
net.sf.jasperreports.export.xls.detect.cell.type=true
希望有所帮助:)