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');
必须以 \ 开头,命名空间之类的!