如何在区块循环中使用PHPExcel库确定文件的结尾?

如何在区块循环中使用PHPExcel库确定文件的结尾?,php,phpexcel,Php,Phpexcel,使用PHPExcel库,我试图迭代大约1500行,每行大约有25列 我正在使用此代码(取自): 因此,如果_emptyRow(),我将打破循环。这对我不起作用 有人能建议一种只检索所有包含数据的记录的方法吗?当我运行它时,即使只有大约1500行有数据,它在超时之前也会到达大约23000行(使用set_time_limit(240)) 我通常会这样做: $objPHPExcel = $objReader->load($inputFileName); $rows = count($ob

使用PHPExcel库,我试图迭代大约1500行,每行大约有25列

我正在使用此代码(取自):

因此,如果_emptyRow(),我将
打破循环。这对我不起作用


有人能建议一种只检索所有包含数据的记录的方法吗?当我运行它时,即使只有大约1500行有数据,它在超时之前也会到达大约23000行(使用set_time_limit(240))

我通常会这样做:

$objPHPExcel = $objReader->load($inputFileName);    
$rows = count($objPHPExcel->getActiveSheet()->toArray());    
for ($start_row = 1; $start_row < $rows; $start_row ++)
// ...
$objPHPExcel=$objReader->load($inputFileName);
$rows=count($objPHPExcel->getActiveSheet()->toArray());
对于($start\u row=1;$start\u row<$rows;$start\u row++)
// ...

$excel->getActiveSheet()->toArray()
将只返回数组中的每一行(带数据)。

对于1.7.6及以下版本,Christopher Mullins编写了一篇文章,允许您在读取整个文件之前读取工作表信息。此信息包括每个工作表的行数和列数,因此您可以使用此信息在“块读取”实际工作簿数据之前检索行数

这个补丁现在已经被合并到最新的SVN代码中,所以将来它将成为PHPExcel核心的一部分

function _emptyRow($row) {
    $empty=true;

    foreach($row as $r) {
    if ($r!='') {
        $empty = false;
        }
    }

    return $empty;

}
$objPHPExcel = $objReader->load($inputFileName);    
$rows = count($objPHPExcel->getActiveSheet()->toArray());    
for ($start_row = 1; $start_row < $rows; $start_row ++)
// ...