【问题标题】:Currency Format Apache POI货币格式 Apache POI
【发布时间】:2020-05-25 15:53:04
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 请显示将单元格值设置为单元格D7的代码。好像你设置的是字符串值而不是数值。
  • @AxelRichter 我用代码编辑了出版物 :)
  • String conteudo ... celula.setCellValue(conteudo);:这会将单元格值设置为字符串(文本)。对于数字内容conteudo 也必须是数字。例如double conteudo ... celula.setCellValue(conteudo);

标签: java apache-poi stylesheet libreoffice


【解决方案1】:

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

Double conteudo;
celula.setCellValue(conteudo);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 2012-01-22
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多