java - Apache POI 货币数据格式

标签 java apache-poi

我尝试使用 Apache POI 将数字转换为欧洲货币样式

HSSFDataFormat cf = workbook.createDataFormat();
currencyCellStyle = workbook.createCellStyle();
currencyCellStyle.setDataFormat(cf.getFormat("#.###,#0"));

例如我有数字 2400 和 2.4

我想要的是 2400,00 和 2,40 。 但是 POI 给了我 2400,0 和 2,40。 当我尝试将其更改为

currencyCellStyle.setDataFormat(cf.getFormat("#.###,00"));

我得到结果 2400,00 和 2,400。 这也不是我想要的。

是否有可能使两个值都正确?

致谢和问候

最佳答案

最后 Gagravarr 给出了正确的提示来解决这个问题。

最终的解决方案是:

HSSFDataFormat cf = workbook.createDataFormat();
currencyCellStyle = workbook.createCellStyle();
currencyCellStyle.setDataFormat(cf.getFormat("#,##0.00\\ _€"));

解决方案是在手动创建 excel 文件后出现的。 然后通过 Apache Poi 读取它并 用

提取格式字符串
 cell.getCellStyle().getDataFormatString() 

结果是#,##0.00\_€

所以我在上面的代码片段中使用了这种格式,它给出了正确的结果。

谢谢

关于java - Apache POI 货币数据格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13838495/

相关文章:

java - 使用 apache poi 将 .xls 转换为 csv 文件

java - 为什么不应将 Java 的异常处理语句视为非本地分支的通用机制?

java - 使用 Apache POI 创建简单工作簿时出错

java - 具有父节点的二分搜索树级别顺序

java - "system-dependent default"线程池是什么?

java - 兴趣点 : How to validate empty cells in a range

java - Apache POI - 无法让折线图值出现在辅助轴中

java - 如何使用java apache poi仅从Excel工作表中的几列而不是所有列中删除过滤器

java - Switch 语句不显示任何结果

java - Thymeleaf + Spring Secucity -> #authentication 无法与另一个链接位置结合使用