my $wbk = Spreadsheet::WriteExcel->new ($xls);
my $wks = $wbk->add_worksheet ();
my $fmt = $wbk->add_format (align => "center", num_format => "dd-mm-yy
+yy");
$wks->write ($row, $col, $date, $fmt);
update: After a question in a /msg, I checked what the value of $date must be:
use Spreadsheet::WriteExcel;
use Date::Calc qw( Delta_Days );
my $wbk = Spreadsheet::WriteExcel->new ("test.xls");
my $wks = $wbk->add_worksheet ();
my $dtf = $wbk->add_format (align => "center", num_format => "yyyy-mm-
+dd");
my $dt = 20180406;
# Dates need a special treat ...
my ($y, $m, $d) = unpack "A4A2A2" => $dt;
$dt = 2 + Delta_Days (1900, 1, 1, $y, $m, $d);
$wks->write (2, 1, $dt);
$wks->write (2, 3, $dt, $dtf); # THIS WORKS for the formatted value
# Alternatively use
$wks->write_date_time ("D2", "2018-04-06T16:17", $dtf);
$wbk->close;
And IMHO M/D/YY should hardcoded be forbidden in all cases. Use ISO!
Enjoy, Have FUN! H.Merijn