PHPExcel在tp5.1上的安装
第一种:在GitHub上下载phpExcel类库
链接:https://github.com/PHPOffice/PHPExcel
下载完类库后复制其中的Classes文件夹,放在tp5.1框架的vendor目录下
然后在要使用的方法中使用reuqire引用该文件夹中的phpExcel.php即可
引用代码
require __DIR__ . '/../../../vendor/Classes/PHPExcel.php';
第二种:使用composer安装phpExcel(推荐)
安装composer可参考菜鸟教程
先在phpstorm上的composer命令台中执行以下命令
php composer.phar install//若显示失败,则将找到项目中的composer.lock,修改为composer.phar(这段命令有可能不用执行,这段我也没太明白,望指正)
然后执行关键的命令(不然有可能无法连接安装包网站)
composer config -g repo.packagist composer https://packagist.phpcomposer.com
最后执行安装命令
composer require phpoffice/phpexcel
安装完成后只需要在对应类中添加“use PHPExcel;”即可。
phpExcel的操作
以上是导出phpexcel文件的基本思路
简单的导出示例
public function excel() { $dir = dirname(__FILE__);//找到当前文件所在路径 $objExcel = new PHPExcel(); // halt($objExcel); $objSheet = $objExcel->getActiveSheet();//获得当前活动sheet的操作对象 $objSheet->setTitle();//给当前活动sheet设置名称 // $objSheet->setCellValue('A1','名称')->setCellValue('B1','分数');//给当前活动sheet填充数据 // $objSheet->setCellValue('A2','张三')->setCellValue('B2','50');//推荐使用,对代码内存消耗少 $array = [ [], ['', '姓名', '分数'], ['', '李四', '60'], ['', '王五', '70'] ]; $objSheet->fromArray($array);//直接加载数据块(数组)来填充数据(不推荐在数据量大时使用) $objWriter = \PHPExcel_IOFactory::createWriter($objExcel, 'Excel2007');//按照指定格式生成Excel文件 $objWriter->save($dir . "../../../../demo_1.xlsx"); }
注:实现思路为:
实例化一个phpExcel对象()(如果只操作一张表则不需要生成sheet。因为在实例化时会自动生成一个sheet)
使用createSheet()方法创建sheet()(sheet可以理解为一个excel文件中的每张表对应的对象)
使用setActiveSheet()方法设置当前要进行操作的活动sheet
使用getActiveSheet()方法获得当前要操作的活动sheet的操作对象,将获得的对象赋值给一个变量
在变量中使用setTitle()方法为当前活动的sheet对象设置名称
向sheet对象中填充值
a.第一种方式:使用setCellValue('表中单元格的位置','填入内容')逐个添加(建议使用,对内存消耗少)
b.第二种方式:定义一个数组作为数据块,数组中的元素按表格形式存入,再使用fromArray方法直接加载数据实现 数据填充
7.在对每个sheet对象进行完操作后(即对phpExcel对象中的每张内置表进行完操作后)将其交给phpExcel工厂中制造excel 文件(即调用工厂类中的createWriter方法)PHPExcel_IOFactory::createWriter(phpExcel对象,需要生成的excecl的版 本),然后将这个创造的writer文件实例化
8.调用实例化中的writer对象中的save方法保存文件save('指定路径');