我能够获得细胞的日期格式,但我一直无法得到细胞格式设置为货币...任何人都有如何创建一种风格得到这个工作的例子吗?我下面的代码显示我创建...的styleDateFormat就像一个冠军,而styleCurrencyFormat还没有对电池影响的样式。

private HSSFWorkbook wb;
private HSSFCellStyle styleDateFormat = null;
private HSSFCellStyle styleCurrencyFormat = null;

...

public CouponicsReportBean(){
    wb = new HSSFWorkbook();
    InitializeFonts();

}

public void InitializeFonts()
{
    styleDateFormat = wb.createCellStyle();
    styleDateFormat.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));


    styleCurrencyFormat = wb.createCellStyle();
    styleCurrencyFormat.setDataFormat(HSSFDataFormat.getBuiltinFormat("$#,##0.00"));

}
有帮助吗?

解决方案

通过文档略偏挖后,我发现了答案:

http://poi.apache.org/ apidocs /组织/阿帕奇/ POI / HSSF /的usermodel / HSSFDataFormat.html

只需要找到一个合适的预先设定的格式,并提供该代码。

    styleCurrencyFormat.setDataFormat((short)8); //8 = "($#,##0.00_);[Red]($#,##0.00)"

下面是更多的例子: http://www.roseindia.net/java/poi/setDataFormat.shtml

其他提示

有关至少Excel 2010中: 去到Excel中。格式化他们的方式,你希望它的单元格。

“在这里输入的图像描述”

然后返回到格式对话。选择自定义。

“在这里输入的图像描述”

复制它有上下型顶行的文本粘贴:成

createHelper.createDataFormat().getFormat("<here>");

示例:

createHelper.createDataFormat().getFormat("_($* #,##0.00_);_($* (#,##0.00);_($* \"-\"??_);_(@_)"); //is the "Accounting" format.

确保您设置填充您的细胞通过使用双。 使用索引时可能会使用不同版本的Excel中的问题。请注意,您在上面创建新格式自定义的对话请从第二步结束了。

只需更新上述答复。短“8”不为我工作,但“7”一样。

cell.setCellValue(416.17);      
cellStyle.setDataFormat((short)7);
cell.setCellStyle(cellStyle);

O / P为$ 416.00

您可以试试这个代码格式化与货币模式的细胞(如巴西或德国例如使用千分12.345,67。):

HSSFCellStyle cell = yourWorkBook.createCellStyle();
CreationHelper ch = yourWorkBook.getCreationHelper();
cell.setDataFormat(ch.createDataFormat().getFormat("#,##0.00;\\-#,##0.00"));
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top