I was using phpexcel on an old site (that doesn't even have composer), but i got stuck in this error.
Fatal error: Uncaught Error: Class 'PhpOffice\PhpSpreadsheet\Writer\BaseWriter' not found in /cpl/plugins/PhpOffice/PhpSpreadsheet/Writer/Xlsx.php:32 Stack trace: #0 /cpl/json/json.exportar.php(32): require_once() #1 {main} thrown in /cpl/plugins/PhpOffice/PhpSpreadsheet/Writer/Xlsx.php on line 32
Heres my code:
require_once '../plugins/PhpOffice/PhpSpreadsheet/Spreadsheet.php';
require_once '../plugins/PhpOffice/PhpSpreadsheet/Writer/Xlsx.php';
use \PhpOffice\PhpSpreadsheet\Spreadsheet;
use \PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$writer = new Xlsx($spreadsheet);
$writer->save('hello world.xlsx');
Before that, I tried to use an autoload, instead of the require_once:
<?php
function loadLibraries($class) {
$path = __DIR__."/plugins/";
require_once $path.$class.".php";
}
spl_autoload_register("loadLibraries");
And put it into my code:
require "../autoload.php";
use \PhpOffice\PhpSpreadsheet\Spreadsheet;
use \PhpOffice\PhpSpreadsheet\Writer\Xlsx;
But the thing is, then I had this error:
Fatal error: require_once(): Failed opening required '/cpl/plugins/PhpOffice\PhpSpreadsheet\Spreadsheet.php' (include_path=' ') in /cpl/autoload.php on line 6
I don't know why, but instead of plugins/PhpOffice/PhpSpreadsheet/...
it's '\'
and not '\'
.
Then, I decided to manually require the classes, and got stuck on that error I first mentioned, I even tried to require
require_once '../plugins/PhpOffice/PhpSpreadsheet/Writer/BaseWriter.php';
use \PhpOffice\PhpSpreadsheet\Writer\BaseWriter;
But it didn't worked either.
Any ideas?