输出string作为由POI的Excel中的货币格式
我想在excel中输出“2655.32”作为“$ 2,655.32”。
这里是代码片段:
case 0: HSSFCellStyle style; style.setAlignment(HSSFCellStyle.ALIGN_RIGHT); style.setDataFormat((short) 7); cell.setCellValue(new HSSFRichTextString("2655.32")); cell.setCellStyle(style); break;
生成的excel单元格不显示“$”或千位逗号“,”,并且有一个错误检查警告, “这个单元格中的数字被格式化为文本或者是一个撇号 ,我可以通过double点击单元格让excel修复它,“$”和“,”将出现。
我知道我可以使用cell.setCellValue(Double.parse("2655.32"))
parsingstring来解决这个问题,但如果是这样,我必须确保该值是可parsing的,并添加try catch块到每个我的开关情况,这是非常重复的。
我想知道是否有一种方法来输出这种数字string作为文本,并保持货币格式在同一时间? 像这样$ 2,655.32
这是一个很好的解决你的问题的教程。 HSSFDataFormat
有一些内置的格式。 使用格式#,##0.0
应该可以解决你的问题,就像下面这样:
HSSFCellStyle cs = hssfworkbook.createCellStyle(); HSSFDataFormat df = hssfworkbook.createDataFormat(); cs.setDataFormat(df.getFormat("#,##0.0")); //or cs.setDataFormat((short)7); cell.setCellValue(2655.32); cell.setCellStyle(cs);
谢谢!
cell.setCellValue(416.17); cellStyle.setDataFormat((short)7); cell.setCellStyle(cellStyle);
- 如何从一个Excel工作表使用java获取特定列名称(作为parameter passing)的最后一个非空单元格的行索引?
- 获取错误“您的InputStream既不是OLE2stream,也不是OOXMLstream”通过Apache POI创build文件时
- Excel超链接与英镑
- 如何在Java中执行Excel的“转换为数字”
- Java和Excel:值被读取错误
- 我需要在使用POI的指定列上写excel的pass失败
- Java的Apache POI – 创build一个迭代器来查找date
- 无法使用apache POI在工作簿中创build新的Excel工作表
- 使用Apache POI Java在单元格文本中添加下标