在Excel中本地化数值

时间:2014-11-04 10:50:05

标签: java excel dynamic-jasper

BigDecimal myNumber = new BigDecimal(1234.56);
NumberFormat instance = NumberFormat.getInstance(Locale.GERMAN);
String localizedNumber = instance.format(myNumber);
System.out.print("\nformatting " + localizedNumber); o/p ->1.234,56

直到这里代码工作正常但在行下面会给出NumberFormatter异常,因为给定的字符串中包含逗号。

BigDecimal bigDecimal = new BigDecimal(localizedNumber);

我希望数字值被本地化但我不能返回字符串,因为字符串显示在excel下面的错误 此单元格中的数字为格式化程序,为文本或前面有撇号

有没有办法以本地化格式返回数值(BigDecimal / Integer / BigInteger等) 这样我就不会在Excel中遇到错误,我可以对excel数据执行过滤操作。

我还尝试了新的BigDecimalType()。valueToString(value,locale);和新的BigDecimalType()。stringToValue(s,locale);动态碧玉报告api。

1 个答案:

答案 0 :(得分:2)

很高兴回答这个只问我的问题,并且很惊讶没有人回答这个问题。 实际上我们不需要为excel导出中的数字本地化做任何事情,因为它是由我们的操作系统设置自动完成的。

转到“地区和语言” - >格式 - >选择语言/国家/地区名称 - >申请并检查之前用英语生成的Excel。

您将看到当前所选国家/地区的数字格式的数字。 :)