博客列表 >phpExcel的初学习

phpExcel的初学习

李明伟的博客
李明伟的博客原创
2019年06月01日 18:17:191018浏览

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的操作

QQ浏览器截图20190601084410.png

以上是导出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");
    }

注:实现思路为:

  1. 实例化一个phpExcel对象()(如果只操作一张表则不需要生成sheet。因为在实例化时会自动生成一个sheet)

  2. 使用createSheet()方法创建sheet()(sheet可以理解为一个excel文件中的每张表对应的对象)

  3. 使用setActiveSheet()方法设置当前要进行操作的活动sheet

  4. 使用getActiveSheet()方法获得当前要操作的活动sheet的操作对象,将获得的对象赋值给一个变量

  5. 在变量中使用setTitle()方法为当前活动的sheet对象设置名称

  6. 向sheet对象中填充值

    a.第一种方式:使用setCellValue('表中单元格的位置','填入内容')逐个添加(建议使用,对内存消耗少)

       b.第二种方式:定义一个数组作为数据块,数组中的元素按表格形式存入,再使用fromArray方法直接加载数据实现                                        数据填充

    7.在对每个sheet对象进行完操作后(即对phpExcel对象中的每张内置表进行完操作后)将其交给phpExcel工厂中制造excel         文件(即调用工厂类中的createWriter方法)PHPExcel_IOFactory::createWriter(phpExcel对象,需要生成的excecl的版            本),然后将这个创造的writer文件实例化    

    8.调用实例化中的writer对象中的save方法保存文件save('指定路径');

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议