我想在excel中显示货币格式为CNY 1,234.00,试过很多办法,总是不行
java 操作 jxl设置货币格式不正确
jxl.write.NumberFormat nf = new jxl.write.NumberFormat("[$USD]\ #,##0.00;[$USD]\ \-#,##0.00");
这种办法不行
java 操作 poi设置也不行
short t = HSSFDataFormat.getBuiltinFormat("[$USD]\ #,##0.00;[$USD]\ \-#,##0.00");
currencyStyle.setDataFormat(t);
这时 t返回-1.
忘有做过的朋友帮忙,金币没了,没法悬赏
没有jxl的源码,不知道numberformat支持这样输出不。换了一种方法,使用java自己的格式化输出功能将数字格式化为字符串输出到jxl中,核心代码如下;
java.text.NumberFormat numForm = java.text.NumberFormat
.getCurrencyInstance(Locale.US);
DecimalFormat df = (DecimalFormat) numForm;
df.applyPattern("\u00A4#,###.00");
String str = df.format(7222280.123);
sheet.addCell(new Label(2, 0, str));
格式化后str为:
$7,222,280.12