my $parser = Spreadsheet::ParseExcel->new; my $workbook = $parser->parse( $file ); my $worksheet = $workbook->worksheet( 0 ); my $new_workbook = Spreadsheet::WriteExcel->new( $new_file ); my $new_worksheet = $new_workbook->add_worksheet; my ( $row_min, $row_max ) = $worksheet->row_range; my ( $col_min, $col_max ) = $worksheet->col_range; for my $row ( $row_min .. $row_max ) { for my $col ( $col_min .. $col_max ) { my $new_value = ''; my $cell = $worksheet->get_cell( $row, $col ); if ( $cell ) { my $value = $cell->value; if ( defined $value ) { $new_value = $value; if ( $col == $check_col && $value eq 'CUSTOMER ID' ) { # do what you need for this condition } } } $new_worksheet->write( $row, $col, $new_value ); } } $new_workbook->close;