Электронная таблица :: ParseXLSX и пустые ячейки - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь проанализировать файл XLSX (получая значение для каждой ячейки, строка за строкой), используя Spreadsheet :: ParseXLSX.В моем цикле, проходящем через каждую строку, я пытался извлечь значения с помощью этого кода:

$thisCell = $worksheet->get_cell($currentRow, $currentCol)->value();

, а также с помощью:

$thisCell = $worksheet->get_cell($currentRow, $currentCol)->unformatted();

Однако скрипт всегда прерывается, если онвстречает пустую клетку.Я получаю метод ошибки: «Не удается вызвать метод [value | unformatted] для неопределенного значения ...»

Чтобы попытаться предвидеть пустые ячейки или иметь дело с ними, я попытался:

  • добавление "or $ thisCell = ''" после приведенного выше кода
  • , завершение указанного выше кода в предложении if, например:

    if ($worksheet->get_cell($currentRow, $currentCol)->unformatted()) {
        $thisCell = $worksheet->get_cell($currentRow, $currentCol)->unformatted();
    else {
        $thisCell = "";
    }
    

Я действительно застрял в этом, и я уверен, что это что-то основное, что я испортил.Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 21 мая 2018
my $cell = $worksheet->get_cell($currentRow, $currentCol);

my $value = $cell ? $cell->value : undef;
...