1

DynamicJasperExcelシートを生成するために使用しています。日付列の値の前にアポストロフィを付けると、問題が発生します。

列を次のように定義しました。

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 列の各日付がアポストロフィで始まる文字列であり、列が日付を含むようにフォーマットされていないことを除けば、すべて問題ありません。

アポストロフィはどのようにそこに到達していますか? そして、列が日付としてフォーマットされていないのはなぜですか?

ポインタをいただければ幸いです。

4

1 に答える 1

3

問題が解決しました。

問題は私がエクスポートしていた方法にありました.私はもともとjasperReportsにセルタイプを検出しないように指示していました.

したがって、修正はに設定JRXlsExporterParameter.IS_DETECT_CELL_TYPEすることでしたTRUE

例えば

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

それが役に立てば幸い :)

于 2012-02-04T10:51:15.277 に答える