我正在使用phpexcel库编写导出功能。我已将该库纳入typo3conf/ext/extension_name/Classes/Library/PHPExcel
。还包括文件typo3conf/ext/extension_name/Classes/Library/PHPExcel.php
。并将此文件注入我的typo3 extbase控制器
/**
* PHPExcel
*
* @var \VendorName\ExtensionName\Classes\PHPExcel
* @inject
*/
protected $PHPExcel;
并将其称为导出功能
public function exportxlsAction() {
$objPHPExcel = new \PHPExcel();
}
单击后端模块时,它会将错误抛出为
Could not analyse class: "VendorName\ExtensionName\Classes\PHPExcel" maybe not loaded or no autoloader? Class VendorName\ExtensionName\Classes\PHPExcel does not exist..
为什么会这样?
答案 0 :(得分:2)
命名空间中的问题。只需改变它如下。
\VendorName\ExtensionName\Classes\PHPExcel to \VendorName\ExtensionName\Library
此外,如果您已在此路径\VendorName\ExtensionName\Classes\Library\PHPExcel
上添加了所有PHPExcel库,那么您的名称空间如下所示。
\VendorName\ExtensionName\Library\PHPExcel
另一种方式。
在ext_emconf.php
文件中。添加以下代码。
'autoload' => [
'classmap' => [
'Classes',
'Classes/Library/PHPExcel/PHPExcel.php',
]
]
你的控制器文件代码如下。
/**
* PHPExcel
*
* @var \PHPExcel
* @inject
*/
protected $PHPExcel = null;
你按原样运作。如下。
public function exportxlsAction() {
$objPHPExcel = $this->PHPExcel;
}
更换此更改后,您需要安装/卸载扩展程序。