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

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

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

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

更新

最佳答案

只需添加这个:

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

它将遵循您想要的格式。

https://stackoverflow.com/questions/27400825/

相关文章:

python - 是否可以使用 weasyprint 对页脚进行精美的格式化?

python - 在一行中使用一个表达式两次 - 作为字符串格式的条件和?

javascript - "user-select: none"和 Firefox 中的奇怪行为

c++ - Vim:源代码格式化

floating-point - 如何用前导零填充 Fortran 浮点输出?

python - 如何在 Python 中检查字符串是否具有格式参数?

PHP - 只读电子表格文件类型?

c# - 如何格式化带有千位分隔符和小数点分隔符的 Windows 窗体文本框以进行数字输入

python - Django 进行条件格式化的方法

powershell - 将整数 x.xxxxx 格式化为 xx.xxx