use Win32::OLE;
use Win32::OLE::Variant;
my $ex = Win32::OLE->new('Excel.Application') or die "oops\n";
$ex->{Visible} = 1;
$ex->Workbooks->Add;
$ovR8 = Variant(VT_R8, "3 is a good number");
$ex->Range("A1")->{Value} = $ovR8;
$ex->Range("A2")->{Value} = Variant(VT_DATE, 'Jan 1,2010');
$ex->Range("2:2")->Insert();
$ex->Range("A2")->{Value} = "gone with the wind";
$ex->Range("B2")->{Value} = "second";
使用Excel::Writer::XLSX