Yii2导出列表到csv文件示例

本文介绍如何在Yii2项目中实现CSV文件的导入和导出功能,通过示例代码展示具体操作步骤,适用于需要进行数据批量处理的场景。

项目开发中,很多时候要将外部CSV文件导入到数据库中或者将数据导出为CSV文件,那么具体该如何实现呢?本文将使用yii,实现了CSV格式数据的导入和导出功能。代码如下:

/**
     * 导出列表.
     */
    public function actionRankedexport()
    {
        $ids = Yii::$app->request->get('ids');
        $arrId = empty($ids) ? []:explode(',', $ids);


        $title = '姓名,手机号码,二维码,个人/公司'."\n";
        $fileName = '用户信息'.date('Ymd').'.csv';

        // 列表
        $dataArr = WechatPosterUsers::find()->andFilterWhere(['in', 'id', $arrId])->asArray()->all();

        $wrstr = '';
        if(!empty($dataArr)){
            foreach ($dataArr as $key => $value) {
                $imageurl = Yii::$app->params['frontendurl'].$value['qr_code'];
                $wrstr .= $value['name'] . ',' . $value['phone'] . ',' . $imageurl . ',' . WechatPosterUsers::getTypeName($value['type']);
                $wrstr .= "\n";
            }
        }

        $this->Csvexport( $fileName, $title, $wrstr);
    }

    /**
     * 导出文件.
     */
    public function Csvexport($file = '', $title = '', $data)
    {
        header("Content-Disposition:attachment;filename=".$file);
        header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
        header('Content-Transfer-Encoding: binary');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');

        // ob_start();

        //表头
        $wrstr = $title;

        //内容
        $wrstr .= $data;

        $wrstr = iconv("utf-8", "GBK//ignore", $wrstr); 

        // ob_end_clean();

        echo $wrstr;

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值