zoukankan      html  css  js  c++  java
  • 解决在Yii2中使用PHPExcel出现Class 'appcontrollersPHPExcel' not found的问题

     一、下载PHPExcel
        链接地址:https://github.com/PHPOffice/PHPExcel

        二、新建目录(以Basic版的Yii2为例)

        在/basic/vendor目录下,建立目录phpoffice/phpexcel,把下载的PHPExcel文件解压到新建立的目录中,最终的目录结构为:

        /basic/vendor/phpoffice/phpexecel/Classes/PHPExcel

        /basic/vendor/phpoffice/phpexecel/Classes/PHPExcel.php

        三、引入PHPExcel类

        不管是在advanced中还是basic中,因为PHPExcel它是没有命名空间的,就不能通过Yii中的自动引入功能来自动引入PHPExcel中的类,需要自己来手动引入。假设当前Controller类为SiteController

        方法一:

    require dirname(dirname(__FILE__)).'/vendor/phpoffice/phpexcel/Classes/PHPExcel.php';
    class SiteController extends Controller {
    
    }

    方法二:(本人使用此方式)

        1、修改文件/basic/vendor/composer/autoload_namespace.php,在return array();中增加一行:

    'PHPExcel' => array($vendorDir . '/phpoffice/phpexcel/Classes'),

     2、修改文件/basic/vendor/composer/autoload_static.php,找到 public static $prefixesPsr0 = array () 部分,在键名P的下面新增PHPExcel的内容,最终结果为:

    public static $prefixesPsr0 = array (
        'P' => 
        array (
            'Prophecy\' => 
            array (
                0 => __DIR__ . '/..' . '/phpspec/prophecy/src',
            ),
            
            /******************新增内容  开始***************/
            'PHPExcel' =>
            array (
                0 => __DIR__ . '/..' . '/phpoffice/phpexcel/Classes',
            ),
            /******************新增内容  结束***************/
        ),
        
        /*...............其他代码.................*/
        
    );

    四、使用PHPExcel类

        经过上面的步骤,我们已经把PHpExcel这个类引入进来了。用如下方式来实例化类:

    public function actionIndex() {
        $objExcel = new PHPExcel();
        return $this->render('index');
    }
  • 相关阅读:
    一年三百六十日,需求业务严相逼
    新博客测试
    教务流水账
    暗流涌动的话“用户体验”
    文档那些事儿
    jforum(2)中文乱码的解决方式
    jmeter笔记(4)测试上传附件
    jmeter笔记(2)组件介绍
    jmeter笔记(5)参数化CSV Data Set Config
    jmeter笔记(6)参数化函数助手
  • 原文地址:https://www.cnblogs.com/sensai-sun/p/11283223.html
Copyright © 2011-2022 走看看