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程序设计有所帮助。

(0)

相关推荐

  • Yii框架扩展CGridView增加导出CSV功能的方法

    本文实例讲述了Yii框架扩展CGridView增加导出CSV功能的方法.分享给大家供大家参考,具体如下: Yii提供的CGridView组件没有内置数据导出功能,不过我们可以通过扩展该组件来添加该功能. 具体方法如下: 1.首先派生一个子类,添加一个action成员,在该视图的init函数中判断是浏览动作还是数据导出动作,如果是浏览动作者则保持默认行为,否则输出csv文件. public function init() { if($this->action == 'export') { pare

  • YII2.0之Activeform表单组件用法实例

    本文实例讲述了YII2.0之Activeform表单组件用法.分享给大家供大家参考,具体如下: Activeform 文本框:textInput(); 密码框:passwordInput(); 单选框:radio(),radioList(); 复选框:checkbox(),checkboxList(); 下拉框:dropDownList(); 隐藏域:hiddenInput(); 文本域:textarea(['rows'=>3]); 文件上传:fileInput(); 提交按钮:submitBu

  • Yii2中组件的注册与创建方法

    今天本来打算研究一下yii2.0的AR模型的实现原理,然而,计划赶不上变化,突然就想先研究一下yii2.0的数据库组件创建的过程.通过对yii源码的学习,了解了yii组件注册与创建的过程,并发现原来yii组件注册之后并不是马上就去创建的,而是待到实际需要使用某个组件的时候再去创建对应的组件实例的.本文大概记录一下这个探索的过程. 要了解yii组件的注册与创建,当然要从yii入口文件index.php说起了,整个文件代码如下: <?php defined('YII_DEBUG') or defin

  • 简要剖析PHP的Yii框架的组件化机制的基本知识

    组件是 Yii 应用的主要基石.是 yii\base\Component 类或其子类的实例.三个用以区分它和其它类的主要功能有: 属性(Property) 事件(Event) 行为(Behavior) 或单独使用,或彼此配合,这些功能的应用让 Yii 的类变得更加灵活和易用.以小部件 yii\jui\DatePicker 来举例,这是个方便你在 视图中生成一个交互式日期选择器的 UI 组件: use yii\jui\DatePicker; echo DatePicker::widget([ 'l

  • Yii安装与使用Excel扩展的方法

    本文实例讲述了Yii安装与使用Excel扩展的方法.分享给大家供大家参考,具体如下: 1.下载EExcelBehavior到项目扩展目录下 2.下载phpexcl到扩展目录 3.控制器调用: /** * 导出列表,各商家保障金列表 */ public function actionExport(){ $model = $model=new Company('search'); $model->unsetAttributes(); // clear any default values $mode

  • Yii2框架中使用PHPExcel导出Excel文件的示例

    最近在研究PHP的Yii框架,很喜欢,碰到导出Excel的问题,研究了一下,就有了下面的方法: 最简单的利用composer安装 composer require "phpoffice/phpexcel": "*" 如果没有安装conposer可以参考下面1.2步 1.引入PHPExcel 首先得要下载phpexcel地址:https://github.com/PHPOffice/PHPExcel/archive/1.8.1.zip 你可以直接在入口文件index

  • Yii中使用PHPExcel导出Excel的方法

    本文实例讲述了Yii中使用PHPExcel导出Excel的方法.分享给大家供大家参考.具体分析如下: 最近在研究PHP的Yii框架,很喜欢,碰到导出Excel的问题,研究了一下,就有了下面的方法. 1.首先在cofig/main.php中添加对PHPExcel的引用,我的方法是这样,代码如下: 复制代码 代码如下: // autoloading model and component classes     'import'=>array(         /*'application.modu

  • Yii框架弹出窗口组件CJuiDialog用法分析

    本文实例讲述了Yii框架弹出窗口组件CJuiDialog用法.分享给大家供大家参考,具体如下: CJuiDialog组件在手册zii.widgets.jui下 在视图下使用以下代码 $this->beginWidget('zii.widgets.jui.CJuiDialog', array( 'id'=>'mydialog',//弹窗ID // additional javascript options for the dialog plugin 'options'=>array(//传

  • YII2框架中excel表格导出的方法详解

    前言 表格的导入导出是我们在日常开发中经常会遇到的一个功能,正巧在最近的项目中做到了关于表格输出的功能,并且之前用TP的时候也做过,所以想着趁着这次功能比较多样的机会整理一下,方便以后需要的时候,或者有需要的朋友们参考学习,下面话不多说了,来一起看看详细的介绍: 本文是基于YII2框架进行开发的,不同框架可能会需要更改 一.普通excel格式表格输出 先是最普通的导出.xls格式的表格.首先先看一下表格在网站的显示效果 这里可以看到整个表格一共是7列.下面来看代码的实现. 1.controlle

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

    本文实例讲述了Yii Framework框架使用PHPExcel组件的方法.分享给大家供大家参考,具体如下: PHPExcel下载地址http://www.yiiframework.com/extension/phpexcel 将下载的PHPExcel压缩包解压到Yii Framework目录framework\vendors下 代码如下 /** * 将数据导出到Excel */ public function actionExport() { //取要导出到Excel的数据 $criteria

  • YII Framework框架教程之国际化实现方法

    本文讲述了YII Framework框架教程之国际化实现方法.分享给大家供大家参考,具体如下: 一个web应用,发布到互联网,就是面向全球用户.用户在世界的各个角落都可以访问到你的web应用,当然要看你的网站和不和谐,不和谐的web应用在和谐社会是不让你访问的. YII提供了国际化的支持,可以让我们创建的应用适合不同语言的人群. 国际化是一个很花哨的东西,没有哪个大型的网站真正能做到国际化.大多都是针对不懂的语言,不同地区设计不同的网站.如果你的应用相对较小,处理的东西不多,那么国际化起来的东西

  • Zend Framework框架中实现Ajax的方法示例

    本文实例讲述了Zend Framework框架中实现Ajax的方法.分享给大家供大家参考,具体如下: 开发平台:Windows XP SP2 测试平台:FreeBSD 7.0 开发工具:Netbeans 6.1 使用框架:Zend Framework 1.5.2 数据库: MySQL 5.0.51a 所需的数据库表和ZF相关目录以及文件: 一.表: mysql> select * from news; +----+-------+---------------------+ | id | tit

  • YII Framework框架教程之使用YIIC快速创建YII应用详解

    本文实例讲述了YII Framework框架使用YIIC快速创建YII应用的方法.分享给大家供大家参考,具体如下: yii提供了强大的命令行工具来快速的创建相关组件和应用.</span> cd进入yii/framework框架的根目录. 执行 # php yiic Yii command runner (based on Yii v1.1.8) Usage: yiic <command-name> [parameters...] The following commands are

  • YII Framework框架教程之安全方案详解

    本文讲述了YII Framework框架的安全方案.分享给大家供大家参考,具体如下: web应用的安全问题是很重要的,在"黑客"盛行的年代,你的网站可能明天都遭受着攻击,为了从某种程度上防止被攻击,YII提供了防止攻击的几种解决方案.当然这里讲的安全是片面的,但是值得一看. 官方提供的解决方案有:如下 1. 跨站脚本攻击的防范 跨站脚本攻击(简称 XSS),即web应用从用户收集用户数据. 攻击者常常向易受攻击的web应用注入JavaScript,VBScript,ActiveX,HT

  • YII Framework框架教程之日志用法详解

    本文实例讲述了YII Framework框架日志用法.分享给大家供大家参考,具体如下: 日志的作用(此处省略1000字) YII中的日志很好很强大,允许你把日志信息存放到数据库,发送到制定email,存放咋文件中,意见显示页面是,甚至可以用来做性能分析. YII中日志的基本配置:/yii_dev/testwebap/protected/config/main.php 'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( array(

  • YII Framework框架教程之缓存用法详解

    本文实例讲述了YII Framework框架缓存用法.分享给大家供大家参考,具体如下: 缓存的产生原因众所周知.于是YII作为一个高效,好用的框架,不能不支持缓存.所以YII对各种流行的缓存都提供了接口,你可以根据你的需要使用不同的缓存. 1.YII中的缓存介绍 YII中的缓存是通过组件方式定义的,具体在如下目录 /yii_dev/yii/framework/caching# tree . ├── CApcCache.php ├── CCache.php ├── CDbCache.php ├──

  • Yii Framework框架中事件和行为的区别及应用实例分析

    本文实例讲述了Yii Framework框架中事件和行为的区别及应用.分享给大家供大家参考,具体如下: 个人觉得,在 Yii 里面,最难以明白的就是事件(Event)和行为(behavior)了.这不仅仅是因为它们的概念 比较难明,关键是它们的应用场景比较难明,不知道什么时候应该使用事件和行为来开发. 关于 Yii 的事件和行为的描述,可参考 http://www.yiiframework.com/doc/api/1.1/CComponent 本文参考的文章: http://www.larryu

  • 再谈Yii Framework框架中的事件event原理与应用

    本文实例讲述了Yii Framework框架中的事件event原理与应用.分享给大家供大家参考,具体如下: 再谈Yii Framework中的事件event,我写过的关于Yii事件event的另一篇文章 Yii Framework 中事件和行为的区别和应用 https://www.jb51.net/article/184208.htm 假设有类MyComponent,它是继承于CComponent,通过查看 CComponent 的 __set() 方法, public function __s

  • YII Framework框架使用YIIC快速创建YII应用之migrate用法实例详解

    本文实例讲述了YII Framework框架使用YIIC快速创建YII应用之migrate用法.分享给大家供大家参考,具体如下: yii migrate 查看帮助 /* /www/yii_dev/yii/framework# php yiic migrate help Error: Unknown action: help USAGE yiic migrate [action] [parameter] DESCRIPTION This command provides support for d

随机推荐