#!/usr/bin/perl -w use strict; use Spreadsheet::ParseExcel; use Spreadsheet::WriteExcel; my $parser = Spreadsheet::ParseExcel->new(); my $workbook = $parser->parse('status.xls'); if ( !defined $workbook ) { die $parser->error(), ".\n"; } my $workbook1 = Spreadsheet::WriteExcel->new('Report.xls'); # Add a worksheet my $worksheet1 = $workbook1->add_worksheet(); # Add and define a format my $format = $workbook1->add_format(bg_color => 'green'); for my $worksheet ( $workbook->worksheets() ) { 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 $cell = $worksheet->get_cell( $row, $col ); next unless $cell; my $string = $cell->value(); if ($string =~ m/Completed/i) { $worksheet1->write($row, $col, $cell_value,$format); } else { $worksheet1->write($row, $col, $cell->value()); } } } }