in reply to write over existing Excel file

You can create perl code for Spreadsheet::WriteExcel that creates everything that your template has (note: the 'record a macro in excel and translate the vb to perl' method might be useful here), and make that code re-usable and just call it each time ..
sub addMyHeadersEtc { my $workbook = shift or die; my $worksheet = $workbook->add_worksheet('foo'); $worksheet->write(0, 0, "STANDARD TITLE"); } my $workbook = Spreadsheet::WriteExcel->new('filename.xls'); # c +reate a new file addMyHeadersEtc( $workbook ); # add all your standard stuff # now add all the custom stuff ... my $worksheet = $workbook->sheets()[0]; $worksheet->write(5, 0, "Hi Excel!");