久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Yii框架擴(kuò)展CGridView增加導(dǎo)出CSV功能的方法

這篇文章主要介紹了Yii框架擴(kuò)展CGridView增加導(dǎo)出CSV功能的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Yii框架擴(kuò)展組件實(shí)現(xiàn)導(dǎo)出CSV格式數(shù)據(jù)的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Yii框架擴(kuò)展CGridView增加導(dǎo)出CSV功能的方法。分享給大家供大家參考,具體如下:

Yii提供的CGridView組件沒有內(nèi)置數(shù)據(jù)導(dǎo)出功能,不過我們可以通過擴(kuò)展該組件來添加該功能。

具體方法如下:

1、首先派生一個(gè)子類,添加一個(gè)action成員,在該視圖的init函數(shù)中判斷是瀏覽動作還是數(shù)據(jù)導(dǎo)出動作,如果是瀏覽動作者則保持默認(rèn)行為,否則輸出csv文件。

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

2、處理csv文件的輸出:

protected function genCsv()
{
  header("Content-Type: text/csv; charset=GB2312");
  header('Content-Disposition: attachment; filename="'.$this->fileName.'"');
  //add your content dump codes here
  flush();
}

3、然后在表格控件界面上添加一個(gè)csv導(dǎo)出按鈕

覆蓋其renderItems()方法如下:

public function renderItems()
{
  if(Yii::app()->user->checkAccess('administrator'))
  {
    echo '<div class="toolBar">';
    echo '<form action="'.CHtml::normalizeUrl(array($this->action)).'&id='.$this->id.'" method="post">';
    foreach($this->getController()->getActionParams() as $name => $value)
    {
      echo '<input type="hidden" name="'.addcslashes($name,'"').'" value="'.addcslashes($value,'"').'" />';
    }
    echo '<input type="image" title="'.Yii::t('ifCMS','Export to CSV').'" src="'.Yii::app()->theme->BaseUrl.'/images/ico-csv.png" alt="Submit">';
    echo '</form>';
    echo '</div>';
  }
  parent::renderItems();
}

4、然后在點(diǎn)擊CSV的動作處理比如actionCsv()中render單個(gè)表格視圖,模板如下

<?php
  $this->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輸出函數(shù)中的header設(shè)置語句之前不要有任何的輸出,包括如下函數(shù):

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

否則內(nèi)容只會在瀏覽器中輸出,但不會出現(xiàn)文件下載。

更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

這篇文章主要給大家介紹了關(guān)于Laravel中Intervention/image圖片處理擴(kuò)展包的安裝、使用與在使用可能遇到的坑的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一
這篇文章主要介紹了PHP基于imagick擴(kuò)展實(shí)現(xiàn)合成圖片的兩種方法,結(jié)合實(shí)例形式分析了php使用imagick擴(kuò)展進(jìn)行圖片合并的具體操作方法與相關(guān)實(shí)現(xiàn)技巧,并附帶imagick擴(kuò)展下載地址與配置方法
本篇文章主要介紹了yii2組件之下拉框帶搜索功能的示例代碼(yii-select2),具有一定的參考價(jià)值,有興趣的可以了解一下
本篇文章主要主要介紹了yii2中使用webuploader實(shí)現(xiàn)圖片上傳的實(shí)戰(zhàn)項(xiàng)目,具有一定的參考價(jià)值,有興趣的同學(xué)可以了解一下
本篇文章主要介紹了淺談Yii2 樂觀鎖與悲觀鎖原理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
這篇文章主要介紹了深入理解Yii2.0樂觀鎖與悲觀鎖的原理與使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
主站蜘蛛池模板: 亚洲精品久久久一区二区三区 | 久久不卡| 成人精品一区二区 | 日韩成人高清 | 99影视 | 亚洲精品一区二区三区中文字幕 | 日日摸夜夜爽人人添av | 亚洲激情一级片 | 久久精品国产亚洲一区二区 | 成人欧美一区二区三区在线观看 | 久久精品亚洲欧美日韩精品中文字幕 | 自拍偷拍一区二区三区 | 国产一级视屏 | 国产日韩欧美一区二区 | 99精品欧美一区二区三区综合在线 | 区一区二区三在线观看 | 国产精品久久久久久久久久久久久 | 一二三四在线视频观看社区 | 毛片网站在线观看视频 | 国产欧美日韩精品一区二区三区 | 久久久久久久久99 | 午夜影院在线观看 | 91资源在线 | 国产午夜精品久久久久免费视高清 | 操久久久 | japanhd成人| 日日日操| 在线第一页 | 操人视频在线观看 | 国产视频第一页 | 成人在线一区二区 | 亚洲一页 | 91精品久久久久久久久中文字幕 | 91久久久精品国产一区二区蜜臀 | 欧美视频三区 | 91久久精品一区二区二区 | 亚洲欧美一区二区三区国产精品 | 一级国产精品一级国产精品片 | 久久久www成人免费无遮挡大片 | 国产高清免费 | 国产成人精品综合 |