java - 使用Apache POI在Excel中使用千位分隔符格式化数字

标签 java excel formatting apache-poi

我想格式化一些数字单元格,用逗号作为千位分隔符。例如:

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);

请记住,我正在处理数字。单元格类型将是数字,而不是字符串。

更新

enter image description here

最佳答案

只需添加这个:

style.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));

它将遵循您想要的格式。

关于java - 使用Apache POI在Excel中使用千位分隔符格式化数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27400825/

相关文章:

vba - 在 Excel VBA 中访问命名单元格的值(内容)

vba - 在 VBA 中将双引号放在字符串中

javascript - 删除 TinyMCE 格式菜单标签

java - 日期-姓名 id 转换

java - 有和没有任何声明的构造函数

java - 如何验证表单页面中的整数输入?

excel - 索引/匹配公式中的动态工作表名称

php - NetBeans 8.0 格式化,(当我按下 enter 时自动加入字符串)如何关闭它

python - 在 Python 中指定数字(不带小数点)

java - keycloak 中的领域创建