yii2 phpexcel导出excel

先composer回来phpexcel的包,


use PHPExcel;
use PHPExcel_Writer_Excel2007;
use PHPExcel_Style_Border;
use PHPExcel_Style_Alignment;
use PHPExcel_IOFactory;

 

public function actionTixianExport($id){
        
        $model = $this->findModel($id);
        $orders = \common\models\Order::find()->where(['in','id',explode(",", $model->orderId)])->all();
        
        error_reporting(E_ALL);
        date_default_timezone_set('Asia/ShangHai');
        $objPHPExcel = new PHPExcel();
        /* 以下是一些设置 ,什么作者  标题啊之类的 */
        $objPHPExcel->getProperties()->setCreator("河南亿飞网络科技有限公司")
                ->setLastModifiedBy("刘明阳")
                ->setTitle("数据EXCEL导出")
                ->setSubject("数据EXCEL导出")
                ->setDescription("提现申请表")
                ->setKeywords("excel")
                ->setCategory("result file");
        $i = 1;
        
        $objPHPExcel->getActiveSheet()->mergeCells('A1:E1');
        $objPHPExcel->getActiveSheet()->setTitle('提现申请表');
        $objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A'.$i, '提现申请表');
        $objPHPExcel->setActiveSheetIndex(0)->getStyle('A'.$i)->applyFromArray(
                array(
                    'alignment' => array(
                        'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER
                    )
                )
        );
        
        $i = 2;
        $objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A'.$i, '申请日期:'.date("Y-m-d H:i:s",$model->created_at))
            ->setCellValue('B'.$i, '商家名称:'.$model->company_name)
            ->setCellValue('C'.$i, '类型:'.ProviderTixian::tixianlabels($model->type))
            ->setCellValue('D'.$i, '姓名:'.$model->xingming)
            ->setCellValue('E'.$i, '账号:'.$model->kaihuhang ." ". $model->haoma);
        $i = 3;
        $objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A'.$i, '订单日期')
            ->setCellValue('B'.$i, '订单号')
            ->setCellValue('C'.$i, '接单时间')
            ->setCellValue('D'.$i, '完成时间')
            ->setCellValue('E'.$i, '金额');
        
        $i = 4;
        
        //查询数据
        foreach ($orders as $v) {
            $objPHPExcel->setActiveSheetIndex(0)
                ->setCellValue('A'.$i,date("Y-m-d H:i:s",$v['created_at']))
                ->setCellValue('B'.$i,substr($v['sn'],4))
                ->setCellValue('C'.$i,date("Y-m-d H:i:s",$v['qiangdan_shijian']))
                ->setCellValue('D'.$i,date("Y-m-d H:i:s",$v['wancheng_shijian']))
                ->setCellValue('E'.$i,$v['total_price']);
            $i++;
        }
        $objPHPExcel->getActiveSheet()->mergeCells('A'.$i.':E'.$i); 
        $objPHPExcel->setActiveSheetIndex(0)
                ->setCellValue('A'.$i,"总额:".$model->jine);
        
        $objPHPExcel->setActiveSheetIndex(0)->getStyle('A'.$i)->applyFromArray(
                array(
                    'alignment' => array(
                        'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER
                    )
                )
        );
        $objPHPExcel->setActiveSheetIndex(0);
        $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
        $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
        $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(true);
        $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setAutoSize(true);
        $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setAutoSize(true);
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename="提现申请表.xls"');
        header('Cache-Control: max-age=0');
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        $objWriter->save('php://output');
        exit;
    }

  这种是靠excel的兼容性做的,不依赖任何第三方扩展 ,存在一定的兼容问题

public function actionTixianExportBak($id){
        //申明头部,生成excel类型文件
        header("Content-type:application/vnd.ms-excel");
        header("Content-Disposition:attachment;filename=提现申请表.xls");
        
        $model = $this->findModel($id);
        $orders = \common\models\Order::find()->where(['in','id',explode(",", $model->orderId)])->all();
        
        //获取所有表字段
        $type = array('2' => '普通企业用户', '3' => '高级企业用户', '4' => 'VIP企业用户', '1' => '个人用户',);
        //制作表头
        echo "<table style='border:solid 1px #ddd;'>";
        echo "<tr><th colspan='5'>提现申请单</th></tr>";
        
        echo "<tr style='border:solid 1px #ddd;'>";
        echo "<td>申请日期:" . date("Y-m-d H:i:s",$model->created_at) . "</td>";
        echo "<td>商家名称:" . $model->company_name . "</td>";
        echo "<td>类型:" . ProviderTixian::tixianlabels($model->type) . "</td>";
        echo "<td>姓名:" . $model->xingming . "</td>";
        echo "<td>账号:" . $model->kaihuhang ."  ". $model->haoma. "</td>";
        echo "</tr>";

        echo "<tr style='border:solid 1px #ddd;'>";
        echo "<td>订单日期</td>";
        echo "<td>订单号</td>";
        echo "<td>接单时间</td>";
        echo "<td>完成时间</td>";
        echo "<td>金额</td>";
        echo "</tr>";
        
        $columns = ['created_at','sn','qiangdan_shijian','wancheng_shijian','total_price'];
        //查询数据
        foreach ($orders as $v) {
            echo "<tr style='border:solid 1px #ddd;'>";
                foreach($columns as $k=>$column){
                    if($k == 0 || $k == 2 || $k == 3){
                        echo "<td>" . date("Y-m-d H:i:s",$v[$column]) . "</td>";
                    }else if($k == 1){
                        echo "<td>" . substr($v[$column], 3) . "</td>";
                    }else{
                        echo "<td>" . $v[$column] . "</td>";
                    }
                }
            echo "</tr>";
        }
        
        echo "<tr><td colspan='5' style='text-align:center;'>总额:".$model->jine."</td></tr>";
        
        echo "</table>";
    }

  

转载于:https://www.cnblogs.com/james888/p/5811018.html

使用PHPExcel导出Excel文件,首先需要下载PHPExcel库并将其放置在自己的网页代码目录中。然后在代码中引入PHPExcel对象,并通过调用`require_once("phpExcel_path")`函数来引入PHPExcel库。接下来,创建一个PHPExcel对象和一个PHPExcel_Writer_Excel5对象,并将PHPExcel对象传递给PHPExcel_Writer_Excel5对象作为参数。这样就可以对即将导出Excel表格进行格式设置。 如果需要在Yii框架中使用PHPExcel导出Excel,可以参考Yii相关文档中关于PHPExcel的设置以及相关文件的修改技巧。 如果需要将不同的数据存入不同的sheet表中,可以使用`$excel->createSheet()`方法创建一个新的sheet,并通过`$excel->setActiveSheetIndex('索引')`方法设置当前活动的sheet索引,`$excel->getActiveSheet()->setTitle('sheet名称')`方法设置sheet的名称。这样就可以创建多个sheet了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [php导出Excel表格](https://blog.csdn.net/weixin_45647036/article/details/124247645)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Yii中使用PHPExcel导出Excel的方法](https://download.csdn.net/download/weixin_38528459/13038777)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值