Yii Framework框架使用PHPExcel组件的方法示例
本文实例讲述了YiiFramework框架使用PHPExcel组件的方法。分享给大家供大家参考,具体如下:
PHPExcel下载地址http://www.yiiframework.com/extension/phpexcel
将下载的PHPExcel压缩包解压到YiiFramework目录framework\vendors下
代码如下
/**
*将数据导出到Excel
*/
publicfunctionactionExport()
{
//取要导出到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程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。