12

我正在使用 PHPExcel,我正在尝试使用 Excel 的内置“会计”格式来格式化单元格。我知道格式代码:

PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE

但这只是格式化为两位小数并在数字前添加一个 $。我正在寻找的结果是右侧对齐的单元格,左侧有 $。$0 值应列为“-”,负值应为 $ (1.11)

据我所知,文档中没有其他货币格式(虽然我可能错过了,但这个文档太可怕了)。我找错地方了吗?这可以通过常规的单元格格式来实现,还是 Excel 为会计做了一些独特的事情?

4

3 回答 3

43

我使用 PHPExcel 对现有电子表格中的格式代码进行了逆向工程,并得到了这个:

_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)

这是当您选择“会计”格式时 Excel 放置在单元格上的代码...或单击 Excel 2007 中的“$”工具栏按钮。

如果您不需要货币符号:

->setFormatCode("_(* #,##0.00_);_(* \(#,##0.00\);_(* \"-\"??_);_(@_)");
于 2012-06-08T20:58:24.850 回答
7

$objPHPExcel->getActiveSheet()->getStyle('C1')->getNumberFormat()->setFormatCode("#,##0.00");

或使用

$objPHPExcel->getActiveSheet()->getStyle('C1')->getNumberFormat()->setFormatCode("#.##0,00");

设置在getStyleCELL 中。

于 2014-07-18T13:42:42.533 回答
3

除了 PHPExcel_Style_NumberFormat 中列出的格式之外,没有其他预定义格式,但是您应该能够将格式代码设置为在设置 MS Excel 自定义格式时可以使用的任何字符串...

例如

[green]$#,##0.00;[red]$(-#,##0.00)

至于单元格对齐,请将其设置为正确,或者根本不设置。

于 2011-04-15T06:43:13.097 回答