加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

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

发布时间:2021-01-17 02:43:10 所属栏目:编程 来源:网络整理
导读:本篇章节讲解Yii框架扩展CGridView增加导出CSV功能的方法。供大家参考研究具体如下: Yii提供的CGridView组件没有内置数据导出功能,不过我们可以通过扩展该组件来添加该功能。 具体方法如下: 1、首先派生一个子类,添加一个action成员,在该视图

本篇章节讲解Yii框架扩展CGridView增加导出CSV功能的方法。分享给大家供大家参考,具体如下:

Yii提供的CGridView组件没有内置数据导出功能,不过我们可以通过扩展该组件来添加该功能。

具体方法如下:

1、首先派生一个子类,添加一个action成员,在该视图的init函数中判断是浏览动作还是数据导出动作,如果是浏览动作者则保持默认行为,否则输出csv文件。

action == 'export') { parent::init(); $this->genCsv(); } else { parent::init(); } }

2、处理csv文件的输出:

3、然后在表格控件界面上添加一个csv导出按钮

覆盖其renderItems()方法如下:

user->checkAccess('administrator')) { echo '
getController()->getActionParams() as $name => $value) { echo ''; } echo ''; echo ''; } parent::renderItems(); }

4、然后在点击CSV的动作处理比如actionCsv()中render单个表格视图,模板如下

widget('application.extensions.grid.MyGridView',array( 'id'=>'grid','action'=>'export','dataProvider'=>$dp,'columns'=>array( array( 'header'=>Yii::t('Statistics','Phone'),'name'=>'phone',),array( 'header'=>Yii::t('Statistics','Count'),'name'=>'count',) ));?>

注意上述第2步csv输出函数中的header设置语句之前不要有任何的输出,包括如下函数:

print,echo,printf,trigger_error,vprintf,ob_flush,var_dump,readfile,passthru

否则内容只会在浏览器中输出,但不会出现文件下载。

更多关于Yii相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》及《》

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

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读