#create your destination spreadsheet my $workbook = Excel::Writer::XLSX->new( 'perl.xlsx' ); my $worksheet = $workbook->add_worksheet(); #set date format for rows H and I my $format = $workbook->add_format( num_format => 'yyyy-mm-dd' ); #create some formatting for dates $worksheet->set_column('H:I', undef, $format); # for every spreadsheet... foreach $file (@files) { do { #Read the input file $excel = new Spreadsheet::BasicRead($file); #Get the data from each row while ($dataref = $excel->getNextRow()) { #Write the data into your destination spreadsheet and increment row my @data = @$dataref; $worksheet->write_row($row, 0, \@data); $row++; } } }