I have mentioned in the post itself that i am using the Spreadsheet::ParseExcel module.
If you insist on having a look at the code: (This is jus a part of the entire code and works on just . I need to integrate multiple modules similar to the one below)
sub push_button2 {
my $filename = $mw->getOpenFile( -title => 'Open File:',
-defaultextension => '.xslx', -initialdir => '.' );
warn "Opened $filename\n";
open(MYFILE,$filename);
# Text::Iconv is not really required.
# This can be any object with the convert method. Or nothing.
use Spreadsheet::ParseExcel;
my $parser = Spreadsheet::ParseExcel->new();
my $workbook = $parser->parse($filename);
if ( !defined $workbook ) {
die $parser->error(), ".\n";
}
$txt -> delete('1.0', 'end');
for my $worksheet ( $workbook->worksheets(0) ) {
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(8)
{
my $cell = $worksheet->get_cell( $row, $col );
next unless $cell;
if($worksheet->{Cells}[$row][8]->{Val} > 2)
{
if($worksheet->{Cells}[$row][21]->{Val} >75)
{
$txt -> insert('end', " $worksheet->{Cells}[$row][
+1]->{Val}\n");
$txt -> insert('end', "\n REASON: Other\n");
$txt -> insert('end', " DIAGNOSIS: Check the fault
+ definition\n\n");
}
elsif($worksheet->{Cells}[$row][13]->{Val} > 50)
{
$txt -> insert('end', " $worksheet->{Cells}[$row][
+1]->{Val}\n");
$txt -> insert('end', " \nREASON: Low Signal Stren
+gth\n");
$txt -> insert('end', " DIAGNOSIS: Check the fault
+ definition for troubleshooting\n\n");
}
elsif($worksheet->{Cells}[$row][16]->{Val} >50)
{
$txt -> insert('end', " $worksheet->{Cells}[$row][
+1]->{Val}\n");
$txt -> insert('end', " \nREASON: Bad Quality Upli
+nk/Downlink\n");
$txt -> insert('end', " DIAGNOSIS: Check the fault
+ definition for troubleshooting\n\n");
}
}
else
{next;}
}
}
close(MYFILE);
}
}