yii2 phpexcel

安装phpExcel

composer require "phpoffice/phpexcel": "*"
   //要使用的数据
        $Country_model = new Country();
        $country = $Country_model->find()->asArray()->all();
        //实例化
        $objPHPExcel = new \PHPExcel();
        $objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel);

        //设置表头的值还有颜色
        $objPHPExcel->getActiveSheet()->setCellValue('A1',  '序号');
        $objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setRGB('#ADDE79');
        $objPHPExcel->getActiveSheet()->setCellValue('B1',  'code');
        $objPHPExcel->getActiveSheet()->getStyle('B1')->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setRGB('#ADDE79');
        $objPHPExcel->getActiveSheet()->setCellValue('C1',  'name');
        $objPHPExcel->getActiveSheet()->getStyle('C1')->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setRGB('#ADDE79');


        //动态生成列,从f开始,f对应的ascii为69
        foreach ($country as $key => $value) {
            $i=$key+2;
            $objPHPExcel->getActiveSheet()->setCellValue('A'.$i,  $key+1);
            $objPHPExcel->getActiveSheet()->setCellValue('B'.$i,  $value['code']);
            $objPHPExcel->getActiveSheet()->setCellValue('C'.$i,  $value['name']);
            }

        //下载这个表格,在浏览器输出
        $file_name = '城市列表';
        header("Pragma: public");
        header("Expires: 0");
        header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
        header("Content-Type:application/force-download");
        header("Content-Type:application/vnd.ms-execl");
        header("Content-Type:application/octet-stream");
        header("Content-Type:application/download");;
        header('Content-Disposition:attachment;filename='.$file_name.'.xls');
        header("Content-Transfer-Encoding:binary");
        $objWriter->save('php://output');
        exit;   //重点是需要exit

 安装php-excel

composer require --prefer-dist moonlandsoft/yii2-phpexcel "*"
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename="xiazai.xlsx"');
        header('Cache-Control: max-age=0');

        \moonland\phpexcel\Excel::export([
   	    'models' => Country::find()->all(),
     	'columns' => [
            [
                'header' => 'id',
                'format' => 'text',
                'value' => function($model) {
                    return $model->id;
                },
            ],
      		[
      				'header' => 'name',
      				'format' => 'text',
      				'value' => function($model) {
             			return $model->name;
            		},
      		],
      	],

https://www.yiichina.com/tutorial/1839

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值