Yii2 导入导出Excel

5 篇文章 0 订阅
1 篇文章 0 订阅

前两天做excel导入的工作,发现网上关于导出的很多,而导入的几乎寥寥,顺手整理一下导入导出。

yii2 excel导入

$fileName = '/www/test.xlsl';
        $tag_data = \moonland\phpexcel\Excel::import($fileName, [
            'setFirstRecordAsKeys' => true, 
            'setIndexSheetByName' => true, 
            'getOnlySheet' => 'sheet1',
        ]);
//$tag_data = ['mm','xx'];
        //批量插入
        Yii::$app->wxDb->createCommand()->batchInsert(  
            'tag',  
            ['tag_name'],
            $tag_data
        )->execute();

yii2 excel导出

use moonland\phpexcel\Excel;
    /*
     * 根据条件导出报名数据
     */
    public function actionPhpexcel($classroom_id) {
        $url =  Yii::$app->request->referrer;

        $enroll = new ClassroomEnroll();
        $enroll = $enroll->find()->all();

        Excel::export([                                                                                                                                                     
            'models' => $enroll,
            'fileName' => $enroll[0]['classroom']['title'].'-报名',
            'columns' => [
                [  
                    'attribute' => 'title',
                    'header' => '课堂',
                    'format' => 'text',
                    'value' => function ($models) {
                        return $models['classroom']['title'];

                    }
                ], 
                [  
                    'attribute' => 'order_no',
                    'header' => '订单号',
                    'format' => 'paragraphs',
                    'value' => function ($models) {
                        return strip_tags($models['order_no']);

                    }
                ], 
                [  
                    'attribute' => 'price',
                    'header' => '价格',
                    'format' => 'text',
                    'value' => function ($models) {
                        return intval($models['price'])>0 ?round($models['price']/100,2) : $models['price'];

                    }
                ], 
                [  
                    'attribute' => 'truename',
                    'header' => '报名者',
                    'format' => 'text',
                    'value' => function ($models) {
                        return $models['user']['truename'];
                    }
                ],
                [  
                    'attribute' => 'mobile',
                    'header' => '手机号',
                    'format' => 'text',
                    'value' => function ($models) {
                        return $models['user']['mobile'];
                    }
                ],
                [  
                    'attribute' => 'corp',
                    'header' => '公司',
                    'format' => 'text',
                    'value' => function ($models) {
                        return $models['user']['corp'];
                    }
                ],
                [  
                    'attribute' => 'position',
                    'header' => '职位',
                    'format' => 'text',
                    'value' => function ($models) {
                        return $models['user']['position'];
                    }
                ],
                [  
                    'attribute' => 'status',
                    'header' => '支付状态',
                    'format' => 'text',
                    'value' => function ($models) {
                        return $models['order_status'] == 1 ? '已支付' : '未支付';
                    }
                ],
            ]
        ]);
        return yii::$app->util->alert('导出成功',$url);  
    }
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值