PHPExcel - функция-член getRowIterator () для NULL - PullRequest
0 голосов
/ 13 февраля 2019

Я написал API, который импортирует файл xlsx.Это прекрасно работает.

В следующей функции я написал логику, которая должна извлечь этот файл, но я не знаю, что вызывает эту ошибку:

Вызов функции-члена getRowIterator() ноль

Мой первый звонок:

public function importXlsx($fileLocation)
{
    $reader = IOFactory::createReader('Xlsx');
    $reader->setReadDataOnly(true);
    $spreadsheet = $reader->load($fileLocation);

    $this->importSheet($spreadsheet, 'One', function(User $user) {
        $user->setType();
        return $user;
    });

    $this->importSheet($spreadsheet, 'Two', function(User $user) {
        $user->setType2();
        return $user;
    });


    die('done');

}

Мой второй звонок:

 private function importSheet($spreadsheet, $sheetName, callable $additionalManipulation = null)
{

    $worksheet = $spreadsheet->getSheetByName($sheetName);

    $columnMappings = [
        'First Name' => 'firstName',
        'Surname' => 'lastName',
        'Email' => 'email',
    ];

    $headerColumns = null;

    $data = [];

    foreach ($worksheet->getRowIterator() as $index => $row) {

        $cellIterator = $row->getCellIterator();
        $cellIterator->setIterateOnlyExistingCells(FALSE);
        $rowData = [];
        foreach ($cellIterator as $cell) {
            $rowData[]= $cell->getValue();
        }

        if($index == 1) {
            $headerColumns = $rowData;
        } else {

            $rowData = array_combine($headerColumns, $rowData);
            $data[$index] =$rowData;
        }
    }
...