$worksheet = $workbook->Worksheets(3); $worksheet->{Name} = "Invalid Messages"; $worksheet->Range("A:A")->{HorizontalAlignment} = xlHAlignLeft; $worksheet->Range("A:A")->{ColumnWidth} = 10; $worksheet->Range("B:B")->{HorizontalAlignment} = xlHAlignLeft; $worksheet->Range("B:B")->{ColumnWidth} = 200; # Process all of the 'bad' messages. my $sTextData; foreach $sMsg (@aBadMessages) { @Params = split('\|', $sMsg); $sTextData = @Params[1]; $range = $worksheet->Range(sprintf("%s%d:%s%d", 'A', $nRow, 'C', $nRow)); $range->{Value} = [@Params[0], $sTextData, @Params[$#Params]]; } $workbook->SaveAs($sLogFileName); $ExcelLog->Quit(); # leave excel