#!perl use strict; use warnings; use Win32::OLE; $Win32::OLE::Warn = 3; my $filename = 'c:/temp/Book2.xlsx'; my $excel = Win32::OLE->new('Excel.Application', 'Quit'); my $book = $excel->Workbooks->Open($filename) or die Win32::OLE->LastError(); my $sheet = $book->Worksheets('sheet1'); $sheet->Range("A1")->{Value} = localtime; # update something $book->Save;