Excel::Writer::XLSX パッケージを使用して、DBI クエリの結果から xlsx を正常に作成できます。
F2 <enter>
唯一の問題は、日付と時刻のセルを Excel 2010 で開いたときに、正しく表示するために更新する必要があることです。
表示例:2012-12-02 17:48:33.000
スプレッドシートを開いたとき
リフレッシュ 02/12/2012 17:49
後:希望のフォーマットF2 <enter>
これを引き起こす原因についてのヒントやガイダンスをいただければ幸いです。また、この問題を Perl スクリプト内で解決できるかどうかを教えてください。
どうもありがとう...
PS 自動計算が有効、Win 7 の StrawberryPerl 5.16
更新:完全を期すために、また他の人に役立つ可能性があるため:次の構成を使用して、プレーン文字列または日時の可能性のあるクエリからレコードを書き込んでいました。
1 つのマフが日付を取得する正規表現であるか、メソッドでsprintf
必要な適切な書式文字列に入れるためにwrite_excel_date
、プレーン文字列がセルに書き込まれます。それが私の問題でした。
if ( $item =~ qr[(\d{4})-(\d{2})-(\d{2})\s(\d{2}):(\d{2}):(\d{2})\.000] ) {
my $date = sprintf "%4d-%02d-%02dT%02d:%02d:%02d", $1, $2, $3, $4, $5, $6;
$worksheet->write_date_time( $row, $col++, $date, $date_format);
}
else {
$worksheet->write( $row, $col++, $item );
}