for($r = $wks->{MinRow}; $wks->{MaxRow} && $r <= $wks->{MaxRow}; $r++) { if(cell($wks,$r,0) !~ /(group|category|project|client)/i) { next; } if(cell($wks,$r,0) =~ /group/i) { $group= cell($wks,$r,1); next; } if(cell($wks,$r,0) =~ /category/i) { $category= cell($wks,$r,1); next; } if(cell($wks,$r,0) =~ /project/i) { $project= cell($wks,$r,1); $client= "0"; } if(cell($wks,$r,0) =~ /client/i) { $client= cell($wks,$r,1); } #### # Utility function to safely look inside of a Cell sub cell { my ($Wks, $r, $c)= @_; if (defined $Wks->{Cells}[$r][$c]) { my $val= $Wks->{Cells}[$r][$c]->Value; $val =~ s/ \(/\(/gi; $val =~ s/formerly/Frm\./gi; $val =~ s/\s\s/ /gi; return $val; } return ""; } #### #!/usr/bin/perl -w use strict; use Spreadsheet::ParseExcel; my $parse_excel = Spreadsheet::ParseExcel->new(); my $workbook1= $parse_excel->Parse('data/DASNYFootnotes.xls'); print "Max row : ", 1 + ${$workbook1->{Worksheet}}[0]->{MaxRow}, "\n"; my $workbook2= $parse_excel->Parse("data/dasnyFootnotes.xls"); print "Maxrow b: ", 1 + ${$workbook2->{Worksheet}}[0]->{MaxRow}, "\n";