加入收藏 | 设为首页 | 会员中心 | 我要投稿 鄂州站长网 (https://www.0711zz.com/)- 数据分析、网络、云渲染、应用安全、大数据!
当前位置: 首页 > 编程开发 > PHP > 正文

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

发布时间:2020-11-18 02:44:58 所属栏目:PHP 来源:互联网
导读:这篇文章主要介绍了Yii框架扩展CGridView增加导出CSV功能的方法,结合实例形式较为详细的分析了Yii框架扩展组件实现导出CSV格式数据的具体步骤与相关操作技巧,需要的朋友可以参考下

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

(编辑:鄂州站长网)

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

    推荐文章
      热点阅读