PHP:阅读Excel文件跳过空行(使用电子表格阅读器)

时间:2014-08-11 17:13:54

标签: php excel

我正在使用nuovo/spreadsheet-reader来阅读excel文件。读取XLSX文件时,将跳过第一行以及不包含任何数据的所有行。然后将以下行放在跳过的行的索引中。例如,如果电子表格有10行,其中2行没有数据,则按如下方式解析所有单元格:

$excel_obj = new SpreadsheetReader($file);
// Sheet is changed to the correct one, not shown here

foreach ($excel_obj as $key => $row)
{
    error_log("key:".$key); // This only prints for each non empty row
    if ($row)
    {
        $form_data[] = $row;
    }
    else
    {
        error_log("example allowed for this case, not sure why - never happens though");
    }
}

导致$ form_data有7行,索引为0到6(而不是10行,索引为0到9)。如果行索引没有泄露($ form_data仍然有10个行索引,但3个不包含任何行数据),这不会是一个大问题。不幸的是,不可能重建原始数据矩阵。是否有另一种方法来读取我遗漏的数据,或者可能是一个建议的修复方法?

1 个答案:

答案 0 :(得分:0)

我发现缺少的行是由于XML解析器的简单实现。行的XML标记具有行号作为属性。电子表格阅读器不会检查缺失的行,而只是在找到它们时按下新标记。

最后,我不得不调整库以填补缺失的行。