use Win32::OLE; use strict; use warnings; my $ex; eval {$ex = Win32::OLE->GetActiveObject('Excel.Application')}; die "Excel not installed" if $@; unless (defined $ex) { $ex = Win32::OLE->new('Excel.Application', sub {$_[0]->Quit;}) or die "Oops, cannot start Excel"; } my $book = $ex->Workbooks->Add; my $sheet = $book->Worksheets(1); $sheet->Cells(1,1)->{Value} = "foo"; $sheet->Cells(1,2)->{Value} = "foo"; $sheet->Cells(3,1)->{Value} = "=IF(A1=B1,\"PASS\",\"FAIL\")"; $book->SaveAs( 'test.xls' ); __END__ foo foo PASS