使用 PHPExcel 获取 Excel 表格数据的行数

Ary*_*rya 3 php phpexcel

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

$lastRow = $worksheet->getHighestRow();
Run Code Online (Sandbox Code Playgroud)

现在,我正在尝试导入一个 excel 工作表,在该工作表中有 800 行。但是通过使用上面的代码,行数显示为 65536。其实我想得到的行数是 800。

上面的代码也返回空行数。但我需要对现有行的数据进行计数。如何得到那个。我也试过下面的代码

$lastRow = $worksheet->getHighestDataRow();

但它也不起作用。谁能帮帮我吗。

Dee*_*kar 7

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

$objPHPExcel->setActiveSheetIndex(0)->getHighestColumn();
Run Code Online (Sandbox Code Playgroud)

并获取行数

$objPHPExcel->setActiveSheetIndex(0)->getHighestRow();
Run Code Online (Sandbox Code Playgroud)

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

$objPHPExcel->setActiveSheetIndex(0)->getHighestDataRow();
Run Code Online (Sandbox Code Playgroud)

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

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

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

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