在 Codeigniter 4 中实施 PhpSpreadsheet
Implement PhpSpreadsheet in Codeigniter 4
我真的是一个初学者,我正在尝试在 ThirdParty 文件夹中的 Codeigniter 4 中安装 PhpSpreadsheet。
我在网上找到的说明是指“作曲家”,但我不知道如何 运行 这个命令(我在 Windows 10、XAMPP、Codeigniter 4.1.1 和PHP7.3)。
我还是想手动安装所有东西。
所以我是这样进行的:
- 在 ThirdParty 文件夹中我创建了一个 PhpOffice 文件夹并下载了 PhpSpreadsheet 的内容。
- 然后我以这种方式修改了 Autoload.php 文件(来自 codeigniter app/Config 文件夹):
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');
}
}
现在似乎一切正常!
无需编辑其他文件。
再次感谢那些回答我的人,信息很有用
我真的是一个初学者,我正在尝试在 ThirdParty 文件夹中的 Codeigniter 4 中安装 PhpSpreadsheet。 我在网上找到的说明是指“作曲家”,但我不知道如何 运行 这个命令(我在 Windows 10、XAMPP、Codeigniter 4.1.1 和PHP7.3)。 我还是想手动安装所有东西。
所以我是这样进行的:
- 在 ThirdParty 文件夹中我创建了一个 PhpOffice 文件夹并下载了 PhpSpreadsheet 的内容。
- 然后我以这种方式修改了 Autoload.php 文件(来自 codeigniter app/Config 文件夹):
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');
}
}
现在似乎一切正常! 无需编辑其他文件。 再次感谢那些回答我的人,信息很有用