Forum Webscript.Ru
Программирование => Perl => Тема начата: Biggelow от 05 Июля 2007, 10:37:47
-
Столкнулся с такой проблемой, если не находит ячейки то цикл завершает, как это предотвартить, чтлб он дальше продолжал.
Пишет такую ошибку: Can\'t call method "Value" on an undefined value
for(my $iSheet=0; $iSheet < $oBook->{SheetCount} ; $iSheet++)
{
my $oWkS = $oBook->{Worksheet}[$oBook->{SheetCount}];
$q = "insert into `$CatalogTable` (`title`) ";
$q.= "values (\'".$oWkS->{Name}."\')";
&mysql_query($q, $dbh);
my $q = "select * from `$CatalogTable` where `title` = \'".$oWkS->{Name}."\' ";
my $r = mysql_query($q, $dbh);
@data = $r->fetchrow_array;
$path=@data[0];
$r->finish();
$oWkS->{MaxRow} ||= $oWkS->{MinRow};
foreach my $iR ($oWkS->{MinRow}+3 .. $oWkS->{MaxRow}) {
my $title=$oWkS->{Cells}[$iR][1]->Value;
my $nomer=$oWkS->{Cells}[$iR][0]->Value;
if($title ne "" && $title ne "Наименование" && $nomer){
my $q = "insert into `$RecordsTable` (`title`,`path`) ";
$q.= "values (\'".$title."\',\'".$path."\')";
&mysql_query($q, $dbh);
}
}
}
-
Решил проблему! Надо ячейку на существование проверять:
if($oWkS->{Cells}[$iR][2]->{Val}){
$n1=$oWkS->{Cells}[$iR][2]->Value;
}