12

私はPHPExcelを使用しており、Excelの組み込みの「アカウンティング」形式を使用してセルをフォーマットしようとしています。私はフォーマットコードを知っています:

PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE

ただし、これは単に小数点以下2桁にフォーマットし、数値の前に$を追加します。私が探している結果は、左側に$が付いた右揃えのセルです。$ 0の値は「-」としてリストされ、負の値は$(1.11)である必要があります

私が知る限り、ドキュメントには他の通貨形式はありません(私はそれを見逃したかもしれませんが、このドキュメントは恐ろしいです)。私は間違った場所を見ていますか?これは通常のセルフォーマットで達成できますか、それともExcelは会計のために何かユニークなことをしていますか?

4

3 に答える 3

43

PHPExcelを使用して既存のスプレッドシートからフォーマットコードをリバースエンジニアリングし、次のようにしました。

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

これは、「アカウンティング」形式を選択するか、Excel2007の「$」ツールバーボタンをクリックしたときにExcelがセルに配置するコードです。

通貨記号が必要ない場合:

->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にリストされているもの以外に事前定義された形式はありませんが、MSExcelカスタム形式を設定するときに使用できる任意の文字列に形式コードを設定できるはずです...

例えば

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

セルの配置に関しては、これを自分で正しく設定するか、まったく設定しないでください。

于 2011-04-15T06:43:13.097 に答える