我们在项目中使用ApachePOI4.1.2。我正在使用excel 2013。我正在尝试用apache poi格式化数字,但此格式(#.##0,00)不起作用。我的要求是,如果cdecimalsepstring是dot(.),那么数字的格式应该是(#,##0.00)。如果cdecimalsepstring是逗号(,),则数字格式应为(#.##0,00)。格式(#,##0.00)对我有效,但格式(#.##0,00)无效。我的excel默认的小数点分隔符(.)和千位分隔符是逗号(,)。如果cdecimalsepstring是逗号(,),如果我用格式(#,##0.00)生成excel并更改我的excel十进制分隔符(,)和千位分隔符是逗号(.),则它可以工作。所以我的问题是,在用apache poi生成excel fie时,我们总是需要使用这种格式(#.###0,00)?
CellStyle numStyle = null;
if (cDecimalSepString != null && cDecimalSepString.equals("."))
{
numStyle = workbook.createCellStyle();
short format = (short)BuiltinFormats.getBuiltinFormat("#,##0.00");
numStyle.setDataFormat(format);
}
else
{
DataFormat dataFormat = workbook.createDataFormat();
numStyle = workbook.createCellStyle();
numStyle.setDataFormat(dataFormat.getFormat("#.##0,00"));
}
string value= "1000.43";
double dValue = Double.parseDouble(value);
Cell cell = workbook.createSheet().createRow(0).createCell(0);
cell.setCellValue(dValue);
cell.setCellStyle(numStyle);
暂无答案!
目前还没有任何答案,快来回答吧!