【问题标题】:Dynamicjasper Excel and the leading ApostropheDynamicjasper Excel 和领先的撇号
【发布时间】:2012-02-04 01:05:08
【问题描述】:

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

撇号是如何到达那里的?为什么该列没有格式化为日期?

我将不胜感激。

【问题讨论】:

    标签: excel jasper-reports apostrophe dynamic-jasper


    【解决方案1】:

    问题解决了。

    问题在于我的导出方式,我最初告诉 jasperReports 不要检测细胞类型。

    因此解决方法是将 JRXlsExporterParameter.IS_DETECT_CELL_TYPE 设置为 TRUE

    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

    希望对你有帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-06
      • 1970-01-01
      相关资源
      最近更新 更多