Excel は、限られた数の日付形式を地域設定で保存します。たとえば、Excel の数値形式ダイアログでは、次のような警告が表示されます。
指定したタイプとロケール (場所) に従って、日付と時刻のシリアル番号を日付値として表示します。アスタリスク (*) で始まる日付形式は、コントロール パネルで指定された地域の日付と時刻の設定の変更に対応します。アスタリスクのない形式は、コントロール パネルの設定の影響を受けません。
Excel::Writer::XLSXnum_format
では、書式文字列の代わりに ID 番号を使用してこれらを設定できます。例えば:
#!/usr/bin/perl
use strict;
use warnings;
use Excel::Writer::XLSX;
my $workbook = Excel::Writer::XLSX->new( 'dates.xlsx' );
my $worksheet = $workbook->add_worksheet( 'Demo' );
$worksheet->set_column('A:A', 20);
# Regional date format.
my $date_format_1 = $workbook->add_format( num_format => 14 );
# Non-regional date format.
my $date_format_2 = $workbook->add_format( num_format => 'dd/mm/yy' );
$worksheet->write_date_time( 'A1', '2013-10-27T', $date_format_1 );
$worksheet->write_date_time( 'A2', '2013-10-27T', $date_format_2 );
__END__
組み込みフォーマット ID のその他の例については、ドキュメントの num_format セクションを参照してください。