Dynamicjasper Excel和领先的撇号

时间:2012-02-04 01:05:08

标签: excel jasper-reports apostrophe dynamic-jasper

我使用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列中的每个日期都是带有前导撇号的字符串这一事实,并且该列未被格式化为包含日期。

撇号如何到达那里?为什么列不格式化为日期?

我很感激任何指示。

1 个答案:

答案 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

希望有所帮助:)