1.下载地址:https://github.com/PHPOffice/PHPExcel

2.解压并修改文件名为phpexcel

之后在yii项目的vendor目录下创建一个文件夹命名为phpoffice

把phpexcel文件放到phpoffic文件夹下

此时查看vendor\phpoffice\phpexcel目录下会看到这些文件

3.到vendor\composer目录下修改文件autoload_namespaces.php,

添加一句代码注册命名空间

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

如图:

接下来就可以开始使用了;

    //excel导入函数
public function import($fileName){ $objReader = new \PHPExcel(); $file = $fileName;
$objPHPExcel = \PHPExcel_IOFactory::load($file);
$allSheet = $objPHPExcel->getSheetCount();
for($i=0; $i<$allSheet;$i++){
$dataSheet = $objPHPExcel->getSheet($i)->toArray('', true, true);
if(!$this->saveData($dataSheet)) return '0'; } return '1';
}

使用方法是直接   $objReader = new \PHPExcel();

记住实例化时前面要加 \

以上只是我自己写的例子,本教程是写怎么手动引入PHPExcel插件的,具体用法就不作多介绍了,可自行百度;

注意执行下面步骤需备份文件,以防万一:

php版本大于5.6可能会报错找不到该类;

如要支持就需要修改vendor\composer目录下的autoload_real.php文件

把关于$useStaticLoader这个变量的if判断的代码都删了;如下图红框标识的代码都删了;

之后再把vendor\composer目录下的autoload_static.php文件删了,就可以支持更高版本的php了;

注意看>= 50600那部分的代码就明白为什么php版本大于5.6可能会报错找不到该类;

yii2手动添加插件PHPExcel的更多相关文章

  1. yii2手动添加图片处理插件Imagine

    1.首先从官网下载yii2-imagine的拓展 下载地址:https://github.com/yiisoft/yii2-imagine 下载包名称:yii2-imagine-master 2.然后 ...

  2. elasticsearch中国字(mmseg)——手动添加字典

    elasticsearch中国文字本身并不是一个理想的插件效果.手动添加字典可以补偿在一定程度上. 后发现了几个实验,mmseg分段机制采用正向最长匹配算法.例如,抵抗"小时报"这 ...

  3. Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包

    一,实例:新建了一个Maven项目,在eclipse中通过 build path –> configure path-.将依赖包添加到工程中后,eclipse不报错了.但是用Maven命令 mv ...

  4. [html]Sublime Text添加插件

    今天想在Sublime Text(简称ST)内编写HTML后直接使用浏览器看效果,想添加View in Browser插件,然后遇到奇怪的问题添加插件直接报"找不到有用的插件" 一 ...

  5. IOS手动添加CoreData

    手动添加coreData: 1.在target-build phrase-Link binary with libraries里增加CoreData Framework 2.加入数据模型:comman ...

  6. cordova for ios(android一样)添加插件

    1.进入当前工程文件夹 终端:cd ~/Desktop/ cd piao 2.添加插件 :cordova plugin add Basic device information (Device API ...

  7. 如何手动添加Windows服务和如何把一个服务删除

    windows 手动添加服务方法一:修改注册表 在注册表编辑器,展开分支"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" ...

  8. Windows服务的手动添加和删除方法

    Windows服务的手动添加和删除方法 服务,是指执行指定系统功能的程序.例程或进程,以便支持其他程序,尤其是低层(接近硬件)程序.其实,服务就是一种特殊的应用程序,它从服务启动开始就一直处于运行状态 ...

  9. Android Studio 三种添加插件的方式,androidstudio

    前几篇blog我们介绍了如何安装和配置Android Studio,这篇Blog我们来聊聊如何给Android Studio添加插件,添加插件的路径有三种,我把他们分类如下: 点击设置小按钮 点击[P ...

随机推荐

  1. python全栈开发从入门到放弃之socket并发编程之IO模型

    一 IO模型介绍 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问 ...

  2. Android ExpandableListActivity

    ======MainActivity.java===================================== package com.zys.myexpandablelistactivit ...

  3. 404 Not Found 探秘Nginx转发处理流程

    一.问题描述 访问一个链接地址后报404 Not Found nginx/1.10.2 1 112.95.211.154 - - [08/Mar/2018:15:22:21 +0800] " ...

  4. Js答辩总结

    JS项目总结   在做完项目后,我又学到了很多知识,有些知识在书中或许都学不到,这就是动手实践的效果与好处. 这次项目能做完,可以说不是我一个人的正真成果,因为JS是一门较难的课,做项目时往往会遇到很 ...

  5. ::before ::after CSS3中的伪类和伪元素

    ::before和::after伪元素的用法 一.介绍 css3为了区分伪类和伪元素,伪元素采用双冒号写法. 常见伪类——:hover,:link,:active,:target,:not(),:fo ...

  6. 20145333 《Java程序设计》第7周学习总结

    20145333 <Java程序设计>第7周学习总结 教材学习内容总结 时间的度量 1.格林威治标准时间(GMT):常被不严谨地当成是UTC时间,现已不作为标准时间使用. 2.世界时(UT ...

  7. 20145335郝昊《java程序设计》第9周学习总结

    20145335郝昊 <Java程序设计>第9周学习总结 教材学习内容总结 第16章 JDBC(Java DataBase Connectivity)即java数据库连接,是一种用于执行S ...

  8. 简单的Java网络爬虫(获取一个网页中的邮箱)

    import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; impo ...

  9. [BZOJ1058]报表统计

    Description 小Q的妈妈是一个出纳,经常需要做一些统计报表的工作.今天是妈妈的生日,小Q希望可以帮妈妈分担一些工 作,作为她的生日礼物之一.经过仔细观察,小Q发现统计一张报表实际上是维护一个 ...

  10. LeetCode——Edit Distance

    Question Given two words word1 and word2, find the minimum number of steps required to convert word1 ...