Задать вопрос

Как выбрать данные из excel если в некоторых ячейках пусто?

Все очень просто, иду по экселю все нормально до момента как встречается пустая ячейка, как только он ловит пустую ячейку получаю ошибку, как это обойти, хотя бы вместо ошибки получать null? Да я использую библиотеку PhpSpreadsheet

Uncaught Error: Call to a member function getValue() on null in


for ($row = 2; $row <= $cells->getHighestRow(); $row++) {
    for ($col = 'A'; $col <= 'M'; $col++) {
         if ($col == 'A') {
            $tmp= $cells->get($col . $row)->getValue();
        }
    }
  • Вопрос задан
  • 232 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
hint000
@hint000
у админа три руки
Вообще-то я не кодер, но из любопытства загуглил и вижу в этой библиотеке две функции ISNUMBER, ISBLANK - разве не оно?
Ответ написан
@AndrewDnt
Скорее всего, вы обходите коллекцию $cells - заполненные ячейки.
А вам надо делать обход коллекции $worksheet - все ячейки страницы

Вот пример из phpspreadsheet
=========================================

$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx');
$reader->setReadDataOnly(TRUE);
$spreadsheet = $reader->load("test.xlsx");

$worksheet = $spreadsheet->getActiveSheet();
// Get the highest row and column numbers referenced in the worksheet
$highestRow = $worksheet->getHighestRow(); // e.g. 10
$highestColumn = $worksheet->getHighestColumn(); // e.g 'F'
$highestColumnIndex = \PhpOffice\PhpSpreadsheet\Cell\Coordinate::columnIndexFromString($highestColumn); // e.g. 5

echo '
' . $value . '
' . PHP_EOL;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы