我想格式化一些数字单元格,逗号为千位分隔符。例如:
12 -> 12
1200 -> 1,200
12000 -> 12,000
12000000 -> 12,000,000
120000000 -> 120,000,000
我有以下代码。我应该将formatStr
用作什么?有一个简单的方法吗?或者我是否必须检测零的数量才能产生类似#,###,###
的内容?
String formatStr = "";
HSSFCellStyle style = workbook.createCellStyle();
HSSFDataFormat format = workbook.createDataFormat();
style.setDataFormat(format.getFormat(formatStr));
cell.setCellStyle(style);
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
请记住,我正在处理数字。单元格类型将是数字,而不是字符串。
更新
答案 0 :(得分:8)
只需添加:
style.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
它将遵循您想要的格式。您可以参考this link获取更多格式设置。
答案 1 :(得分:7)
只需#,###
或#,##0
即可。 Excel将其解释为每三个数字有数千个分隔符(不仅仅是在最后三个数字之前,我推断它是你所期望的)。
本着教人钓鱼的精神,这就是你如何找到自己的方法:
格式为数字,0位小数,1000分隔符:
单击“确定”,然后重新打开数字格式对话框并转到“自定义”。看一下格式化代码(" Type")。它显示#,##0
,对我来说,它给出与#,###
完全相同的结果。