在 Codeigniter 4 中实施 PhpSpreadsheet

Implement PhpSpreadsheet in Codeigniter 4

我真的是一个初学者,我正在尝试在 ThirdParty 文件夹中的 Codeigniter 4 中安装 PhpSpreadsheet。 我在网上找到的说明是指“作曲家”,但我不知道如何 运行 这个命令(我在 Windows 10、XAMPP、Codeigniter 4.1.1 和PHP7.3)。 我还是想手动安装所有东西。

所以我是这样进行的:

public $psr4 = [

APP_NAMESPACE => APPPATH, // For custom app namespace

'Config'      => APPPATH . 'Config',

'PhpOffice\PhpSpreadsheet' => APPPATH . 'ThirdParty/PhpOffice/PhpSpreadsheet', 

];

然后我像这样创建了 Example.php 控制器:

<? php
namespace App\Controllers;

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

class Example extends BaseController
{
    public function index ()
    {
        $ spreadsheet = new Spreadsheet ();
    }
}

好吧,仅此行代码就会产生以下错误:

错误

未找到接口'Psr \ SimpleCache \ CacheInterface'

APPPATH\ThirdParty\PhpOffice\PhpSpreadsheet\Collection\Memory.php 第 13 行

我不知道如何解决。 提前感谢所有回答的人

Php office 和任何其他库都有一些依赖项(主库中需要的库)。所以我们通常使用像 Composer(在 PHP 中)这样的包管理器来处理这样的事情. 在这种情况下,Phpoffice 告诉您 Psr\SimpleCache\CacheInterface 是 运行ning 一些脚本所必需的软件包。

Installing/using Composer 包在所有平台上都非常简单。 安装后,您只需在代码中包含“vendor/autoload.php”文件并使用每个已安装的包。

也使用 $config['composer_autoload'] = APPATH 。 'vendor/'; 用于设置 composer 供应商目录以供 codeigniter 本身自动加载。

要添加 phpoffice/phpspreadsheet,您只需执行下面的 运行 命令,所有依赖项都会自动为您安装。

composer require phpoffice/phpspreadsheet

(vendor 是 composer 包安装的目录。)

好吧,我从 Codeigniter 4 应用程序根目录启动了带有 composer 的 phpSpreadsheet 下载,然后创建了以下控制器:

<?php
namespace App\Controllers;

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


class Example extends BaseController
{
    public function index()
    {
        $spreadsheet = new Spreadsheet();
        
        $sheet = $spreadsheet->getActiveSheet();
        $sheet->setCellValue('A1', 'Hello World !');
        $writer = new Xlsx($spreadsheet);
        $writer->save('hello world.xlsx');
    }
} 

现在似乎一切正常! 无需编辑其他文件。 再次感谢那些回答我的人,信息很有用