【发布时间】:2012-10-03 04:09:32
【问题描述】:
我在我的项目中使用 BIRT 进行报告。 该报告将金额(字符串)的正确值显示为 123456789123,但是当我尝试将相同的报告导出到 csv 时,csv 文件显示的金额与 1.234E11 相同。 我也想在 csv 中将值设为 123456789123。 请帮忙 谢谢
【问题讨论】:
我在我的项目中使用 BIRT 进行报告。 该报告将金额(字符串)的正确值显示为 123456789123,但是当我尝试将相同的报告导出到 csv 时,csv 文件显示的金额与 1.234E11 相同。 我也想在 csv 中将值设为 123456789123。 请帮忙 谢谢
【问题讨论】:
我想这可能是在 Excel 中查看它的问题。导出数据不会导出格式代码。在记事本中打开 csv,您将看到正确的数据。如果您将报告导出到 excel,您可以在数据项的属性编辑器的格式编号属性中设置自定义格式代码,例如 #####0。
【讨论】:
如果数字太大,excel会显示这样的值。如果您展开列并将列设置为格式单元格下的编号,它将正确显示。您需要将其保存为 Excel 工作簿。
【讨论】:
我们的 BiRT 报告工具刚刚遇到了这个问题。当我们在文本编辑器中打开导出的文件时,数字被格式化为科学计数法。这是 Birt 的自定义格式化程序之一的错误。
我们必须查看 org.eclipse.birt.report.engine.dataextraction.impl.CommonDataExtractionImpl 并更改行
valueFormatters[i] = new NumberFormatter( patterns[i], this.locale );
到
String pattern = patterns[i] == null ? "Unformatted" : patterns[i];
valueFormatters[i] = new NumberFormatter( pattern, this.locale );
将模式设置为“未格式化”使默认格式保持为普通整数而不是科学记数法(通过十进制格式化程序)。
【讨论】: