Dynamicjasper Excel 和前导撇号

发布于 2025-01-02 13:03:19 字数 535 浏览 1 评论 0原文

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

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

我将不胜感激任何指点。

Im using DynamicJasper to generate an Excel sheet. Im experiencing some difficulty with the apostrophe prepended to my date columns values.

I defined my column like this:

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);

Then added the appropiate Date values to my map.....

Everything is fine, apart from the fact that each date in the excel column is a string with a leading apostrophe, and the column is not formated as containing dates.

How is the apostrophe getting there? And why is the column not formatting as a Date?

I would appreciate any pointers.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

飞烟轻若梦 2025-01-09 13:03:19

问题解决了。

问题出在我导出的方式上,我最初告诉 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

希望有帮助:)

Problem solved.

The issue was with the way i was exporting, i had origionaly told jasperReports to not detect cell type.

So the fix was to set JRXlsExporterParameter.IS_DETECT_CELL_TYPE to 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());

I think some of you may be using an external file to configure the export, in that case the line to include is
net.sf.jasperreports.export.xls.detect.cell.type=true

Hope it helps :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文