Я читаю файл 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 или как избежать пустых ячеек?