#php #laravel #phpspreadsheet #phpoffice
#php #laravel #phpspreadsheet #phpoffice
Вопрос:
я хочу прочитать файл xlsx и записать обратно некоторые данные в файл, как показано ниже :
try {
$reader = new PhpOfficePhpSpreadsheetReaderXlsx();
$spreadsheet = $reader->load('CatagoryEng.xlsx');
dd($spreadsheet);
} catch (Exception $ex) {
dd($ex);
}
приведенный выше код отлично работает на локальном, но на сервере он выдает приведенное ниже исключение
ErrorException {#1444 ▼
#message: "Trying to access array offset on value of type null"
#code: 0
#file: "/home/ar../vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Styles.php"
#line: 133
#severity: E_NOTICE
trace: {▶}
}
другая информация :
- некоторый пакет
"phpoffice/phpspreadsheet": "^1.4"
используется как в локальном, так и в серверном. - версия php
"php": "^7.1.3"
- версия laravel
"laravel/framework": "5.6.*"
Комментарии:
1. Итак, какая именно строка не работает?
$reader
Сбой или, может$spreadsheet
быть? Что, чертdd()
возьми, такое?2.
dd()
— laravel.com/docs/8.x/helpers#method-dd . Я всегда слышал, что это называется «дамп и умереть».3. Совпадают ли версии PHP и Laravel на обоих серверах?
4. Отлично, так
$reader
что сбой или нет$spreadsheet
?5. Хорошо, закомментируйте каждую строку и раскомментируйте их одну за другой, пока не найдете ошибку.