如何将货币类型设置为POI中的列

如何在java中使用poi将列转换为XSSFWorkbook中的货币类型?

这是我用过的代码:

DataFormat datafrmt = wbAll.createDataFormat(); cellStyle.setDataFormat(datafrmt.getFormat("$#,##0.00")); 

但在设置数据格式后,我尝试打开Excel工作表并检查其显示自定义类型的列的格式,但我需要该列为货币类型。 我怎样才能做到这一点?

我建议您使用其中一种BuiltinFormats作为货币。 这个似乎是你正在寻找的那个7, "$#,##0.00);($#,##0.00)"

通过在他们的演示中制作XSSFCellStyleMap ,检查Apache如何建议这样做。 阅读之后,我认为你只是缺少这行代码,你可以格式化工作。

 XSSFCellStyle style3 = wb.createCellStyle(); style3.setAlignment(XSSFCellStyle.ALIGN_RIGHT); // THIS LINE HERE! style3.setDataFormat(fmt.getFormat("$#,##0.00")); styles.put("currency", style3);` 

要使用BuiltinFormats ,而不是使用XSSFDataFormat实例,您可以直接设置所需格式的短路,例如style3.setDataFormat((short) 7);