in reply to Re: Perl script to fill the entire row of Excel file with color based on pattern match
in thread Perl script to fill the entire row of Excel file with color based on pattern match
Thanks a lot ! I could able to see the rows getting filled with green but I am having another requirement also , if the row matches "In Progress" , it should fill that form with Orange color. I have written below code but it is not filling the entire row which is matching with "In Progress" and only half of the row is getting filled.
#!/usr/bin/perl -w use strict; use Spreadsheet::ParseExcel; use Spreadsheet::WriteExcel; my $parser = Spreadsheet::ParseExcel->new(); my $workbook = $parser->parse('Homestead_status.xls'); if ( !defined $workbook ) { die $parser->error(), ".\n"; } my $workbook1 = Spreadsheet::WriteExcel->new('Report.xls'); my $format1 = $workbook1->add_format(bg_color => 'green'); my $format2 = $workbook1->add_format(bg_color => 'orange'); for my $worksheet ( $workbook->worksheets() ) { my $worksheet1 = $workbook1->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 ) { my @value1 = (); my @value2 = (); my $fmt1; # format for complete row my $fmt2; # format for complete row # store row in array for my $col ( $col_min .. $col_max ) { my $cell = $worksheet->get_cell( $row, $col ); if (defined $cell) { $value1[$col] = $cell->value() ; $value2[$col] = $cell->value() ; $fmt1 = $format1 if ($value1[$col] =~ m/Completed/i); $fmt2 = $format2 if ($value2[$col] =~ m/In Progress/i) } } # write row for my $col ( $col_min .. $col_max ) { $worksheet1->write($row, $col, $value1[$col],$fmt1); $worksheet1->write($row, $col, $value2[$col],$fmt2); } } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Perl script to fill the entire row of Excel file with color based on pattern match
by poj (Abbot) on Aug 29, 2018 at 13:09 UTC | |
by kshitij (Sexton) on Aug 30, 2018 at 08:36 UTC | |
by poj (Abbot) on Aug 30, 2018 at 12:30 UTC | |
by kshitij (Sexton) on Aug 31, 2018 at 04:17 UTC | |
by kshitij (Sexton) on Aug 31, 2018 at 09:19 UTC | |
|