我可以使用Excel :: Writer :: XLSX軟件包從DBI查詢的結果中成功創建xlsx。Excel :: Writer :: XLSX單元格(帶日期和時間)需要刷新
唯一的問題是日期和時間單元在Excel 2010中打開時需要刷新,即F2 <enter>
才能正確顯示。
實例顯示:2012-12-02 17:48:33.000
打開電子表格
刷新一次:02/12/2012 17:49
格式後F2 <enter>
期望我會爲任何提示感謝/什麼可能導致這一點,如果這個問題可以內部解決指導我的Perl腳本?
非常感謝......
PS自動計算啓用,StrawberryPerl 5.16在Win 7
UPDATE:爲了完整起見,並因爲它可能是幫助他人的事:我所用以下構造可以從查詢中寫入記錄,這些記錄可以是純字符串或日期時間。
如果一個muff的正則表達式捕獲日期,或者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);
}
你使用'$ worksheet-> write_date_time()'和一個適當的格式嗎? –
是的。正如下面john的帖子所評論的那樣,我的腳本未能捕獲日期和時間「標記」,因此只是將其打印爲字符串。奇怪,因爲它看起來很直截了當...還得再努力一下......謝謝 – jjap