#php #phpspreadsheet #phpoffice
#php #phpspreadsheet #phpoffice
Вопрос:
Я использовал phpexcel на старом сайте (на котором даже нет composer), но я застрял в этой ошибке.
Неустранимая ошибка: Неперехваченная ошибка: класс ‘PHPOffice PhpSpreadsheet Writer BaseWriter’ не найден в /cpl/plugins/PHPOffice/PhpSpreadsheet/Writer/Xlsx.php:32 Трассировка стека: #0 /cpl/json/json.exportar.php (32): добавлено require_once() #1 {main} /cpl/plugins/PhpOffice/PhpSpreadsheet/Writer/Xlsx.php на линии 32
Вот мой кодекс:
require_once '../plugins/PhpOffice/PhpSpreadsheet/Spreadsheet.php';
require_once '../plugins/PhpOffice/PhpSpreadsheet/Writer/Xlsx.php';
use PhpOfficePhpSpreadsheetSpreadsheet;
use PhpOfficePhpSpreadsheetWriterXlsx;
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$writer = new Xlsx($spreadsheet);
$writer->save('hello world.xlsx');
До этого я пытался использовать автозагрузку вместо require_once:
<?php
function loadLibraries($class) {
$path = __DIR__."/plugins/";
require_once $path.$class.".php";
}
spl_autoload_register("loadLibraries");
И вставь это в мой код:
require "../autoload.php";
use PhpOfficePhpSpreadsheetSpreadsheet;
use PhpOfficePhpSpreadsheetWriterXlsx;
Но дело в том, что потом у меня возникла эта ошибка:
Fatal error: require_once(): Failed opening required '/cpl/plugins/PhpOfficePhpSpreadsheetSpreadsheet.php' (include_path=' ') in /cpl/autoload.php on line 6
Я не знаю почему, но вместо plugins/PhpOffice/PhpSpreadsheet/...
«это ''
» и «нет ''
«.
Затем я решил вручную запросить классы и застрял на той ошибке, о которой я впервые упомянул, я даже попытался потребовать
require_once '../plugins/PhpOffice/PhpSpreadsheet/Writer/BaseWriter.php';
use PhpOfficePhpSpreadsheetWriterBaseWriter;
Но и это не сработало.
Есть идеи?