Yii Framework框架使用PHPExcel组件的方法示例

 更新时间:2019年07月24日 11:38:45   转载 作者:kalman  
这篇文章主要介绍了Yii Framework框架使用PHPExcel组件的方法,结合实例形式分析了Yii Framework框架中PHPExcel组件的下载、导入、调用等相关操作技巧,需要的朋友可以参考下

本文实例讲述了Yii Framework框架使用PHPExcel组件的方法。分享给大家供大家参考,具体如下:

PHPExcel下载地址http://www.yiiframework.com/extension/phpexcel

将下载的PHPExcel压缩包解压到Yii Framework目录framework\vendors下

代码如下

/**
* 将数据导出到Excel
*/
public function actionExport()
{
    //取要导出到Excel的数据
    $criteria = $this->_getCriteria();
    $data = Statistics::model()->findAll($criteria);
    // 获取PHPExcel引用路径
    $phpExcelPath = Yii::getPathOfAlias('system.vendors');
    // 关闭YII的自动加载功能,改用手动加载,否则会出错,PHPExcel有自己的自动加载功能
    // YII框架对于组件的自动加载,要求类名与文件名一致;
    // 而PHPExcel类对应的文件名包含了上级目录名称,如:IOFactory类对应的文件名为PHPExcel_IOFactory.php
    spl_autoload_unregister(array('YiiBase','autoload'));
    include($phpExcelPath . DIRECTORY_SEPARATOR . 'PHPExcel.php');
    //下面是Excel数据导出处理逻辑
    $objPHPExcel = PHPExcel_IOFactory::load('./content/template/report.xlsx');
    $objPHPExcel->getProperties()->setCreator("Kalman")
    ->setTitle("统计报表")
    ->setSubject("统计报表")
    ->setDescription("统计报表");
    $objPHPExcel->setActiveSheetIndex(0)
    ->setCellValue('A1', 'Hello')
    ->setCellValue('B2', 'world!')
    ->setCellValue('C1', 'Hello')
    ->setCellValue('D2', 'world!');
    $objPHPExcel->setActiveSheetIndex(0)
    ->setCellValue('A25', '123456');
    $objPHPExcel->getActiveSheet()->setTitle('report');
    // Excel打开后显示的工作表
    $objPHPExcel->setActiveSheetIndex(0);
    //通浏览器输出Excel报表
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment;filename="report.xlsx"');
    header('Cache-Control: max-age=0');
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
    $objWriter->save('php://output');
    Yii::app()->end();
    //恢复Yii自动加载功能
    spl_autoload_register(array('YiiBase','autoload'));
}

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

相关文章

  • Laravel统计一段时间间隔的数据方法

    Laravel统计一段时间间隔的数据方法

    今天小编就为大家分享一篇Laravel统计一段时间间隔的数据方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 浅谈PHP的反射API

    浅谈PHP的反射API

    PHP5添加了一项新的功能:Reflection。这个功能使得phper可以reverse-engineer class, interface,function,method and extension。通过PHP代码,就可以得到某object的所有信息,并且可以和它交互。
    2017-02-02
  • CI框架简单分页类用法示例

    CI框架简单分页类用法示例

    这篇文章主要介绍了CI框架简单分页类用法,结合实例形式分析了CI框架简单分页类基本定义与使用方法,需要的朋友可以参考下
    2020-06-06
  • ThinkPHP中session函数详解

    ThinkPHP中session函数详解

    这篇文章主要为大家详细介绍了ThinkPHP中session函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • PHP函数in_array()使用详解

    PHP函数in_array()使用详解

    这篇文章主要介绍了PHP函数in_array()使用详解,分别对普通使用、使用第三个参数、克隆对象、多维数组等给出了例子,需要的朋友可以参考下
    2014-08-08
  • php/js获取客户端mac地址的实现代码

    php/js获取客户端mac地址的实现代码

    这篇文章主要介绍了如何在php与js中分别获取客户度mac地址的方法,需要的朋友可以参考下
    2013-07-07
  • Laravel-admin之修改操作日志的方法

    Laravel-admin之修改操作日志的方法

    今天小编就为大家分享一篇Laravel-admin之修改操作日志的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • Codeigniter实现发送带附件的邮件

    Codeigniter实现发送带附件的邮件

    这篇文章主要介绍了Codeigniter实现发送带附件的邮件的方法,涉及Codeigniter中attach方法的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • php面向对象基础详解【星际争霸游戏案例】

    php面向对象基础详解【星际争霸游戏案例】

    这篇文章主要介绍了php面向对象基础,结合星际争霸游戏案例详细分析了PHP面向对象类、继承、重载、接口等相关概念与使用技巧,需要的朋友可以参考下
    2020-01-01
  • CodeIgniter框架基本增删改查操作示例

    CodeIgniter框架基本增删改查操作示例

    这篇文章主要介绍了CodeIgniter框架基本增删改查操作,结合具体实例形式分析了CodeIgniter框架针对数据库进行创建、增删改查等操作的相关实现技巧,需要的朋友可以参考下
    2017-03-03

最新评论