我需要在工作表中设置BRL硬币的格式。我正在使用Apache POI通过以下代码设置货币样式:
XSSFCellStyle style = xssfWorkbook.createCellStyle();
style.setDataFormat(cf.getFormat("R$#,##0.00;\\R$-#,##0.00"));
但是,当我将xlsx文件打开到LibreOffice(我是Linux用户)时,单元格未格式化。检查单元格在单元格值开头处是否包含引号',并且在停用该引号时,我的单元格值格式正确。我的工作表after和before的打印件。请任何建议?
编辑:我的方法创建并将setValue设置为单元格(
作为参数传递上面的样式):
public XSSFCell criarCelula(int indice, String conteudo, XSSFRow linha, XSSFCellStyle estilo) {
XSSFCell celula = linha.createCell(indice);
celula.setCellValue(conteudo);
celula.setCellStyle(estilo);
return celula;
}
最佳答案
我得到了Axel Richter的建议。使用我的内容成双精度类型而不是字符串。
Double conteudo;
celula.setCellValue(conteudo);