使用PHPExcel获取带有Excel工作表数据的行数

时间:2017-12-27 05:55:54

标签: php phpexcel

我正在使用PHPExcel进行批量数据导入。导入excel表时,我想知道现有数据的总行数。为此我正在使用代码,

$lastRow = $worksheet->getHighestRow();

现在,我正在尝试导入excel表,在该表中有800行。但是使用上面的代码,行计数显示为65536。实际上我想让行数为800.

上面的代码也返回空行数。但我需要数据现有行数。怎么做到这一点。 我也尝试了下面的代码

$lastRow = $worksheet->getHighestDataRow();

但它也无效。任何人都可以帮助我。

2 个答案:

答案 0 :(得分:4)

要获取Excel文件中的列数,您必须使用以下代码:

$objPHPExcel->setActiveSheetIndex(0)->getHighestColumn();

并获取行数

$objPHPExcel->setActiveSheetIndex(0)->getHighestRow();

根据您的要求,您应该使用以下

$objPHPExcel->setActiveSheetIndex(0)->getHighestDataRow();

使用getHighestDataRow()方法获取具有实际内容的单元格的最高行号。

请注意,单元格中的空格或空值可以作为内容。

从1.7.6及以下的PHPExcel版本中,可以在不读取整个文件的情况下获取工作表信息:

$objReader     = PHPExcel_IOFactory::createReader("Excel2007"); 
$worksheetData = $objReader->listWorksheetInfo($uploadedfile);
$totalRows     = $worksheetData[0]['totalRows'];
$totalColumns  = $worksheetData[0]['totalColumns'];

答案 1 :(得分:1)

$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);

echo count($sheetData)

它将返回行数.....