我正在尝试获取包含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
答案 0 :(得分:4)
我在获得最高列之前遇到过这个问题,并且是由于单元格中的格式和公式。即使单元格没有显示值,也不意味着单元格是空的。 PHPExcel将读取显示为空的单元格,但实际上其中包含一些格式或公式。
如果是这种情况,您可以清除内容下方的所有格式/公式。有时,如果文件是在其他地方生成的,那么这是不可行的,因此我建议在创建阅读器之后和加载文件之前添加以下代码行:$excel2->setReadDataOnly(true);
因此代码块应该读作:
$excel2 = PHPExcel_IOFactory::createReader('Excel2007');
$excel2->setReadDataOnly(true);
$excel2 = $excel2->load('try.xlsx');