excel出力で数値を張り付ける際に、小数点以下3桁にそろえて出力する必要があった。テンプレートのexcelファイルを読み込んだ後phpで拾ってきたデータを張り付けるということをしていた。
フォーマット関数が適用されない
修正前の取込は下のように桁がそろっていない箇所があった。
php側で数値をフォーマットするため、number_format( (合計重量の値), 3); として再度出力。
( ^ω^)・・・一部フォーマットされない。なんか左寄せになってるし・・・。
number_format( (合計重量の値), 3);をした後の値をphpで確認することに。
どうやらnumber_formatはちゃんと動いているようだ。となると貼り付け段階で問題があることに・・・。
ちなみにsprintf関数を使っても同じ現象が起こり悪戦苦闘していたところ、同僚のNさんから
「phpをいじらずにexcelのテンプレートファイルの方をセルの書式設定で変更すればよいのでは?」とのアドバイス。
( ^ω^)・・・セルの・・・しょしき・・・せってい・・・?
終わり
※追記:なおphpで設定する場合は、sprintfなどでフォーマットを強制せずに
$sheet->getStyle((指定のセル))->getNumberFormat()->setFormatCode('0.000');
のように、単にフォーマットコードを使用するのが良いみたいです。