我正在阅读一个 Excel 文件,其中有时 PHPExcel codeplex 将空单元格视为值单元格。例如:
如果我的 Excel 有 128 列,则最大值是 DV,有时它会因 Excel 和用户要求而异。最大为 126 列。最少为 8 列。最大行数为 250。
----------------------
A | B | ..... |DU |DV|
----------------------
我使用以下代码加载 Excel:
set_include_path(get_include_path() . PATH_SEPARATOR . 'Classes/');
include 'PHPExcel/IOFactory.php';
$inputFileName = $target_file;
try {
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);
} catch(Exception $e) {
die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
}
现在的问题是 PHPExcel 显示错误的最大列和行,最大列是 126(DV),最大行是 245。
但是当我使用以下代码时,我得到了错误的值:
$lastColumn = $objPHPExcel->setActiveSheetIndex(0)->getHighestColumn();
$lastRow = $objPHPExcel->setActiveSheetIndex(0)->getHighestRow();
而不是 126,我得到 1800+ ( AMK ) 作为最大列,最大行显示为 65536。
如何解决这个问题?
即使清除和创建新的 Excel,有时也会发生这种情况。
如何在读取(加载)Excel之前设置最大列和行数或如何避免空单元格?