ThinkPHP使用PHPExcel出现:Class 'Admin\Action\PHPExcel_IOFactory' not found

使用TP3.2.3的PHPExcel在做excel的导入和导出,本地wamp测试正常,上传服务器出现问题出现个错误:Class 'Admin\Action\PHPExcel_IOFactory' not found

原始代码:

import("Org.Util.PHPExcel");
$PHPExcel=new \PHPExcel();
$phpwriter = \PHPExcel_IOFACTORY::createWriter($PHPExcel, 'excel2007');

解决代码:

import("Org.Util.PHPExcel");
import("Org.Util.PHPExcel.Writer.Excel2007", '', '.php');  
import("Org.Util.PHPExcel.IOFactory", '', '.php');
$PHPExcel=new \PHPExcel();

$phpwriter = \PHPExcel_IOFACTORY::createWriter($PHPExcel, 'excel2007');

因为 'import()' 的问题,import()默认会给文件添加 '.class.PHP'的后缀。同时将 '.' 替换为 '/',导致文件路径也解析错误。

还有一个特别注意事项:
$objReader = \PHPExcel_IOFactory::createReader('Excel2007');
必须以 \ 开头,命名空间之类的!

Tags: thinkphp

添加新评论