php yii1.1 后台数据导出为Excel表格

来源:互联网 发布:gps漂移过滤算法 编辑:程序博客网 时间:2024/06/05 20:07
//控制器public function actionIndex() {        $model = array('platform_id' => '', 't_article_type_id' => '', '_like' => '', 'begin_create_at' => '2016-08-15', 'end_create_at' => date('Y-m-d'),);        $criteria = new CDbCriteria();        $criteria->order = 'id DESC';        #get请求赋值        foreach ($model as $key => $val) {            if (isset($_GET[$key]) && $_GET[$key] !== '' && $_GET[$key] !== 'null')                $model[$key] = $_GET[$key]; //给model赋值            }        #post请求赋值        if (Yii::app()->request->isPostRequest) {            foreach ($model as $key => $val) {                if (isset($_POST[$key]) && $_POST[$key] !== '' && $_POST[$key] !== 'null')                    $model[$key] = $_POST[$key]; //给model赋值            }        }        #一般查询        if ($model['platform_id'])            $criteria->compare('platform_id', $model['platform_id']);        if ($model['t_article_type_id'])            $criteria->compare('t_article_type_id', $model['t_article_type_id']);        #like查询        if ($model['_like']) {            $criteria->addCondition('source like :key OR  title like :key');            $criteria->params[':key'] = $model['_like'] . '%';        }         #时间查询        $criteria->addCondition("create_at>='" . $model['begin_create_at']." 00:00:00'");        $criteria->addCondition("create_at<'" .  date("Y-m-d",strtotime('+1 day', strtotime($model['end_create_at'])))." 00:00:00'" );        //数据导出        if (isset($_GET['export']) && $_GET['export'] == 'exportData') {            $lists = TArticles::model()->findAll($criteria);            $list = array();            $key = 0;            foreach ($lists as $item) {                $list[$key]["文章Id"] = $item['id'];                $_model = Platforms::model()->findByPk($item['platform_id']);                $list[$key]["平台"] = empty($_model) ? "" : $_model["name"];                $_model = TArticleTypes::model()->findByPk($item['t_article_type_id']);                $list[$key]["类型"] = empty($_model) ? "" : $_model["name"];                $list[$key]["来源"] = $item['source'];                $list[$key]["标题"] = $item['title'];                $list[$key]["内容"] = $item['content'];                $list[$key]["创建时间"] = $item['create_at'];                $list[$key]["有效"] = $item['status']==0?"有效":无效;                $key++;            }            Yii::import('ext.ECSVExport');            $csv = new ECSVExport($list);            $content = $csv->toCSV();            Yii::app()->getRequest()->sendFile('data.csv', mb_convert_encoding($content, 'gbk', 'utf-8'), "text/csv", false);            exit;        }        $result = TArticles::model()->count($criteria);        $pager = new CPagination($result);        $pager->pageSize = 15;        $pager->applyLimit($criteria);        $list = TArticles::model()->findAll($criteria);        $this->render('index', compact('model', 'list', 'pager'));    }
//HTML代码
 
<p class="gap">     <a href="#" title="查询" id="submit" onclick="$('#queryForm').submit();return false;" class ="btn_fenpei">查询</a> </p><p class="gap"><a href="javascript:void(0)" id="exportData" style="margin-top:3px;" title="数据导出" class="but_sj">数据导出</a></p>
//数据导出
    <script type="text/javascript">        $(function() {            //$("#queryForm").append('<p class="gap"><a href="javascript:void(0)" id="exportData" style="margin-top:3px;" title="数据导出" class="but_sj">数据导出</a></p>');            $("#exportData").click(function() {                $('#queryForm').append('<input type="hidden" id="export" name="export" value="exportData" />').submit();                $("#export").remove();                return false;            });        });
    </script>