2 u014071291 u014071291 于 2015.07.14 15:27 提问

java 操作 jxl 或者 poi设置货币格式

我想在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.
忘有做过的朋友帮忙,金币没了,没法悬赏

2个回答

CSDNXIAOD
CSDNXIAOD   2015.07.16 15:28

java设置Excel单元格格式 POI
java poi 设置数据格式
Java POI 如何操作word 格式(基础篇)
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

tongyi55555
tongyi55555   2015.07.15 09:30

没有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

Csdn user default icon
上传中...
上传图片
插入图片