问题描述
|
我正在使用PHPExcel,并且正在尝试使用Excel的内置“帐户”格式来格式化单元格。我知道格式代码:
PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE
但这只是将格式格式化为两位小数,并在数字前添加$。我要查找的结果是右对齐的单元格,左侧是$。 $ 0值应列为\“-\”,负值应为$(1.11)
据我所知,文档中没有其他货币格式(尽管我可能错过了,但该文档太可怕了)。我看错地方了吗?可以通过常规的单元格格式来实现此功能,还是Excel在记帐方面做独特的事情?
解决方法
我使用PHPExcel对现有电子表格中的格式代码进行了反向工程,并得到以下信息:
_(\"$\"* #,##0.00_);_(\"$\"* \\(#,##0.00\\);_(\"$\"* \"-\"??_);_(@_)
当您选择\“ Accounting \”格式...或在Excel 2007中单击该\“ $ \”工具栏按钮时,这就是Excel在单元格上放置的代码。
,$objPHPExcel->getActiveSheet()->getStyle(\'C1\')->getNumberFormat()->setFormatCode(\"#,##0.00\");
或使用
$objPHPExcel->getActiveSheet()->getStyle(\'C1\')->getNumberFormat()->setFormatCode(\"#.##0,00\");
置于getStyle
CELL中。
,除了PHPExcel_Style_NumberFormat中列出的格式外,没有其他预定义格式,但是您应该能够将格式代码设置为设置MS Excel自定义格式时可以使用的任何字符串。
例如
[green]$#,##0.00;[red]$(-#,##0.00)
关于单元格对齐,请自行设置,或者根本不设置。