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


Posted in PHP onJuly 24, 2019

本文实例讲述了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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
提升PHP速度全攻略
Oct 09 PHP
PHP中ADODB类详解
Mar 25 PHP
PHP MemCached高级缓存配置图文教程
Aug 05 PHP
php线性表的入栈与出栈实例分析
Jun 12 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
Mar 23 PHP
PHP实现的浏览器检查类
Apr 11 PHP
CI框架中redis缓存相关操作文件示例代码
May 17 PHP
PHP中类的继承和用法实例分析
May 24 PHP
PHP制作登录异常ip检测功能的实例代码
Nov 16 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
Jan 17 PHP
thinkPHP简单调用函数与类库的方法
Mar 15 PHP
php中bind_param()函数用法分析
Mar 28 PHP
PHP+Apache实现二级域名之间共享cookie的方法
Jul 24 #PHP
PHP容器类的两种实现方式示例
Jul 24 #PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
Jul 24 #PHP
thinkphp5.1框架容器与依赖注入实例分析
Jul 23 #PHP
Thinkphp5 自定义上传文件名的实现方法
Jul 23 #PHP
PHP中__set()实例用法和基础讲解
Jul 23 #PHP
PHP大文件分块上传功能实例详解
Jul 22 #PHP
You might like
JAVA/JSP学习系列之七
2006/10/09 PHP
PHP目录函数实现创建、读取目录教程实例
2011/01/13 PHP
php中导出数据到excel时数字变为科学计数的解决方法
2013/02/03 PHP
PHP开发框架kohana中处理ajax请求的例子
2014/07/14 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
PHP实现文字写入图片功能
2019/02/18 PHP
Laravel 错误提示本地化的实现
2019/10/22 PHP
laravel5.1 ajax post 传值_token示例
2019/10/24 PHP
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
JS实现仿苹果底部任务栏菜单效果代码
2015/08/28 Javascript
javascript针对不确定函数的执行方法
2015/12/16 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
RequireJS简易绘图程序开发
2016/10/28 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
微信小程序调用wx.getImageInfo遇到的坑解决
2020/05/31 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
2020/11/23 Javascript
vue-router懒加载的3种方式汇总
2021/02/28 Vue.js
详细解读Python中的__init__()方法
2015/05/02 Python
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
Python爬虫爬取美剧网站的实现代码
2016/09/03 Python
numpy中索引和切片详解
2017/12/15 Python
python 编码规范整理
2018/05/05 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
python基础梳理(一)(推荐)
2019/04/06 Python
详解【python】str与json类型转换
2019/04/29 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
python模块和包的应用BASE_PATH使用解析
2019/12/14 Python
Python 文件数据读写的具体实现
2020/01/24 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
韩语专业本科生求职信
2013/10/01 职场文书
出国签证在职证明范本
2014/11/24 职场文书
男方家长婚礼致辞
2015/07/27 职场文书