Blogger Information
Blog 40
fans 1
comment 0
visits 32771
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
phpExcel的初学习
李明伟的博客
Original
1022 people have browsed it

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('指定路径');

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments