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

问题描述 投票:1回答:2

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

$lastRow = $worksheet->getHighestRow();

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

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

$lastRow = $worksheet->getHighestDataRow();

但它也没有用。谁能帮帮我吗。

php phpexcel
2个回答
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
投票
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);

echo count($sheetData)

它将返回行数.....

© www.soinside.com 2019 - 2024. All rights reserved.