In Spreadsheet/ParseExcel.pm, there's a function called _NewCell(). What I've done is make it look like this:
sub _NewCell($$$%)
{
my($oBook, $iR, $iC, %rhKey)=@_;
my($sWk, $iLen);
return undef unless(defined $oBook->{_CurSheet});
my $oCell =
Spreadsheet::ParseExcel::Cell->new(
Val => $rhKey{Val},
FormatNo=> $rhKey{FormatNo},
Format => $rhKey{Format},
# Code => $rhKey{Code},
# Type => $oBook->{FmtClass}->ChkType(
# $rhKey{Numeric},
# $rhKey{Format}->{FmtIdx}),
);
# $oCell->{_Kind} = $rhKey{Kind};
$oCell->{_Value} = $oBook->{FmtClass}->ValFmt($oCell, $oBook);
# if($rhKey{Rich}) {
# my @aRich = ();
# my $sRich = $rhKey{Rich};
# for(my $iWk=0;$iWk<length($sRich); $iWk+=4) {
# my($iPos, $iFnt) = unpack('v2', substr($sRich, $iWk));
# push @aRich, [$iPos, $oBook->{Font}[$iFnt]];
# }
# $oCell->{Rich} = \@aRich;
# }
if(defined $_CellHandler) {
if(defined $_Object){
no strict;
ref($_CellHandler) eq "CODE" ?
$_CellHandler->($_Object, $oBook, $oBook->{_CurShe
+et}, $iR, $iC, $oCell) :
$_CellHandler->callback($_Object, $oBook, $oBook->
+{_CurSheet}, $iR, $iC, $oCell);
}
else{
$_CellHandler->($oBook, $oBook->{_CurSheet}, $iR, $iC, $oC
+ell);
}
}
unless($_NotSetCell) {
$oBook->{Worksheet}[$oBook->{_CurSheet}]->{Cells}[$iR][$iC]
= $oCell;
}
return $oCell;
}
Personally, I think that Takanori Kawai didn't fully understand the language when he wrote it.
- You don't need Hungarian notation when writing Perl. It obfuscates more than it helps.
- The use of prototypes on method calls doesn't do anything but confuse the reader.
- Comments that don't really say much. ("Skip Font4" is a direct quote. Why?!?)
In his defence, it does say that this is an alpha release. I just wish the beta would come out. I could change it, but I don't feel comfortable as I don't know the formatting he's working with.
------ We are the carpenters and bricklayers of the Information Age. Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement. |