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

Как выбрать данные из 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();
        }
    }
  • Вопрос задан
  • 261 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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