首页 > 解决方案 > 在 PhpSpreadsheet/Writer/Xlsx 中找不到 PhpSpreadheet BaseWriter,php:32

问题描述

我在一个旧网站(甚至没有作曲家)上使用 phpexcel,但我陷入了这个错误。

致命错误:未捕获错误:在 /cpl/plugins/PhpOffice/PhpSpreadsheet/Writer/Xlsx.php:32 中找不到类“PhpOffice\PhpSpreadsheet\Writer\BaseWriter” 堆栈跟踪:#0 /cpl/json/json.exportar.php (32): require_once() #1 {main} 在第 32 行的 /cpl/plugins/PhpOffice/PhpSpreadsheet/Writer/Xlsx.php 中抛出

这是我的代码:

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');

在此之前,我尝试使用自动加载,而不是 require_once:

<?php

function loadLibraries($class) {
    $path = __DIR__."/plugins/";

    require_once $path.$class.".php";
}


spl_autoload_register("loadLibraries");

并将其放入我的代码中:

require "../autoload.php";

use \PhpOffice\PhpSpreadsheet\Spreadsheet;
use \PhpOffice\PhpSpreadsheet\Writer\Xlsx;

但问题是,然后我遇到了这个错误:

Fatal error: require_once(): Failed opening required '/cpl/plugins/PhpOffice\PhpSpreadsheet\Spreadsheet.php' (include_path=' ') in /cpl/autoload.php on line 6

我不知道为什么,但不是plugins/PhpOffice/PhpSpreadsheet/...it's'\'和 not '\'

然后,我决定手动要求这些类,并陷入了我第一次提到的那个错误,我什至试图要求

require_once '../plugins/PhpOffice/PhpSpreadsheet/Writer/BaseWriter.php';
use \PhpOffice\PhpSpreadsheet\Writer\BaseWriter;

但它也没有奏效。

有任何想法吗?

标签: phpphpspreadsheetphpoffice

解决方案


推荐阅读