首页 > 解决方案 > 货币格式 Apache POI

问题描述

我需要将 BRL 硬币的格式设置到我的工作表中。我正在使用 Apache POI 设置货币样式,代码如下:

XSSFCellStyle style = xssfWorkbook.createCellStyle();
style.setDataFormat(cf.getFormat("R$#,##0.00;\\R$-#,##0.00"));

但是当我将 xlsx 文件打开到 LibreOffice(我是 linux 用户)中时,我的单元格没有被格式化。检查单元格在单元格值的开头包含引号',并且在停用此引号时,我的单元格值的格式正确。之后之前的我的工作表的打印。请问有什么建议吗?

编辑:我在单元格中创建和设置值的方法(将上述样式作为参数传递):

 public XSSFCell criarCelula(int indice, String conteudo, XSSFRow linha, XSSFCellStyle estilo) { 
   XSSFCell celula = linha.createCell(indice); 
   celula.setCellValue(conteudo); 
   celula.setCellStyle(estilo); 
   return celula; 
} 

标签: javaapache-poistylesheetlibreoffice

解决方案


我得到了 Axel Ritcher 的建议。使用我的内容变成双精度类型而不是字符串。

Double conteudo;
celula.setCellValue(conteudo);

推荐阅读