关于getHighestRow()的数据不准确

时间:2014-10-05 14:59:56

标签: php phpexcel

我正在尝试获取包含excel工作簿中数据的最后一行问题在某些工作表中我得到了正确的数据,但在其他工作表中我没有,我试图通过使用{{更改我的代码1}}而不是getHighestDataRow(),但我一直得到相同的结果,所以我将PHPExcel库从PHPExcel_1.7.9_doc更新为PHPExcel_1.8.0_doc,但结果也相同。 任何想法?

我想在循环中创建一个if语句来测试每一行是否为空。

getHighestRow()

$lastRowt = $excel2->getActiveSheet()->getHighestDataRow(); echo" $lastRowt "; 继续获得34分,但只有30分。

$lastRowt

1 个答案:

答案 0 :(得分:4)

我在获得最高列之前遇到过这个问题,并且是由于单元格中的格式和公式。即使单元格没有显示值,也不意味着单元格是空的。 PHPExcel将读取显示为空的单元格,但实际上其中包含一些格式或公式。

如果是这种情况,您可以清除内容下方的所有格式/公式。有时,如果文件是在其他地方生成的,那么这是不可行的,因此我建议在创建阅读器之后和加载文件之前添加以下代码行:$excel2->setReadDataOnly(true);

因此代码块应该读作:

$excel2 = PHPExcel_IOFactory::createReader('Excel2007');
$excel2->setReadDataOnly(true);
$excel2 = $excel2->load('try.xlsx');