end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

Spreadsheet::WriteExcel で数値に\(円)マーク付きの通貨形式で表示

Spreadsheet::WriteExcel では、set_num_format() を使って数値の表示形式を指定できます。

http://search.cpan.org/perldoc?Spreadsheet::WriteExcel

今回、「123456」->「\123,456」のように¥マーク付きの通貨形式で表示したいと思い、Spreadsheet::WriteExcelのドキュメントを見ましたが、$(ドル)付きの通貨形式(例: $0.00)しか記載されていません。

そこで、excel 2007の「セルの書式設定」の「表示形式」にユーザ定義として「\#,##0;\-#,##0」が定義されているので、試しにset_num_format()に渡してみると、バッチリ表示されました。

$fmt->set_num_format('\#,##0;\-#,##0');

おやっ?、正しく表示されない方もいるらしい。'\#,##0'かな?