PHP Excel Reader 2读卡器';如果未填写,则不读取列

PHP Excel Reader 2读卡器';如果未填写,则不读取列,php,excel,Php,Excel,我有一个excel文件,如下所示: 当我这样做时,我想阅读F、G、H、J列: for($i=3;$i工作表[0]['numRows'];$i++){ 错误日志( FW_Class_凭证代码::cleanCode($data->sheets[0]['cells'][$i][6])。-'。 FW_Class_凭证代码::cleanCode($data->sheets[0]['cells'][$i][7])。-'。 FW_Class_凭证代码::cleanCode($data->sheets[0]['

我有一个excel文件,如下所示:

当我这样做时,我想阅读F、G、H、J列:

for($i=3;$i工作表[0]['numRows'];$i++){
错误日志(
FW_Class_凭证代码::cleanCode($data->sheets[0]['cells'][$i][6])。-'。
FW_Class_凭证代码::cleanCode($data->sheets[0]['cells'][$i][7])。-'。
FW_Class_凭证代码::cleanCode($data->sheets[0]['cells'][$i][8])。-'。
FW_Class_凭证代码::cleanCode($data->sheets[0]['cells'][$i][9]);
$count++;
}
我遇到的问题是我会出错:

PHP注意:未定义的偏移量:7 PHP注意:未定义的偏移量:8 PHP注意:未定义的偏移量:9

F列总是满的,但正如你所看到的,我和其他列有问题。如何避免此错误,使字段仅在填充数据时才被检查

    if (isset($data->sheets[0]['cells'][$i][7])) {
                        $col7 = $data->sheets[0]['cells'][$i][7];
                    } else {
                        $col7 = '';
                    }
                    if (isset($data->sheets[0]['cells'][$i][8])) {
                        $col8 = $data->sheets[0]['cells'][$i][8];
                    } else {
                        $col8 = '';
                    }
                    if (isset($data->sheets[0]['cells'][$i][9])) {
                        $col9 = $data->sheets[0]['cells'][$i][9];
                    } else {
                        $col9 = '';
                    }
看起来真的很难看,但它可以工作。

对于($i=3;$i sheets[0]['numRows'];$i++){
  for ($i = 3; $i <= $data->sheets[0]['numRows']; $i++) {
    $err=array;
    for($j=6; $j<=9; $j++){
      if(isset(FW_Class_Voucher_Code::cleanCode($data->sheets[0]['cells'][$i][$j])))
         $err[]=FW_Class_Voucher_Code::cleanCode($data->sheets[0]['cells'][$i][$j]) ;
    }
    if(!empty($err){
      $msg=implode('-',$err);
      error_log($msg);
    } 
    $count++; //I don't know what you're using $count for
  } 
$err=数组; 对于($j=6;$jsheets[0]['cells'][$i][$j])) $err[]=FW_Class_凭证代码::cleanCode($data->sheets[0]['cells'][$i][$j]); } 如果(!empty($err){ $msg=内爆('-',$err); 错误日志($msg); } $count++;//我不知道你用$count干什么 }
  for ($i = 3; $i <= $data->sheets[0]['numRows']; $i++) {
    $err=array;
    for($j=6; $j<=9; $j++){
      if(isset(FW_Class_Voucher_Code::cleanCode($data->sheets[0]['cells'][$i][$j])))
         $err[]=FW_Class_Voucher_Code::cleanCode($data->sheets[0]['cells'][$i][$j]) ;
    }
    if(!empty($err){
      $msg=implode('-',$err);
      error_log($msg);
    } 
    $count++; //I don't know what you're using $count for
  }