2013-04-09 41 views
2

我正處於發展中。我想消除空行使用PHP excel插件從PHP上傳一個Excel。如何消除Excel中的空行使用PHPExcel上傳從PHP上傳?

while($x<=$excel->sheets[0]['numRows']){ 
    $y=1; 
    while($y<=$excel->sheets[0]['numCols']){ 
     $cell = isset($excel->sheets[0]['cells'][$x][$y]) 
      ? $excel->sheets[0]['cells'][$x][$y] 
      : ''; 
     if($excel->sheets[0]['cells'][$x][$y] == $excel->sheets[0]['cells'][$x][1]){ 
      echo $cell; 
     } else { 
      echo $cell; 
     } 
     $y++; 
    } 
    $x++; 
} 

我用這個代碼從Excel中值PHP,但如果Excel有空記錄的結果將被修改,像額外的細胞。我怎樣才能解決這個問題。

+0

你真的使用PHPExcel,或者是你使用PEAR Spreadsheet_Excel_Writer(SEW)...它看起來更像是後者我 – 2013-04-09 08:19:03

+0

對不起,我只用Spreadsheet_Excel_Writer。我如何消除空行 – Phoenix 2013-04-09 08:38:33

+0

您需要測試行數組中的每個單元格在第二個while循環之前是否爲空,並且如果存在非空單元格,則只執行while循環。我建議使用array_filter()獲得非空單元的計數 – 2013-04-09 08:46:55

回答

1
if (!array_reduce(
    $excel->sheets[0]['cells'][$x], 
    function ($state, $value) { 
     return $state && !($value > ''); 
    }, 
    TRUE 
)) { 
// execute your while($y<=$excel->sheets[0]['numCols']) loop here 
}