tp5 phpexcel 导出数据

本文介绍如何使用PHPExcel从数据库中获取已发货的数据,并将其格式化为Excel文件进行导出。具体步骤包括:查询数据库获取指定状态的订单信息,使用PHPExcel库创建Excel对象并设置样式,填充表头及数据内容,调整列宽,最后将文件输出给客户端。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public function phpexcel (){

        $info = Db::table('user')->where('status', 0)->where('wuliu_company', 'not null')->order('time desc')->select();
$name = "已发货数据汇总表";



            Vendor('phpexcel.PHPExcel');//调用类库,路径是基于vendor文件夹的
            Vendor('phpexcel.PHPExcel.Worksheet.Drawing');
            Vendor('phpexcel.PHPExcel.Writer.Excel2007');
            $objExcel = new \PHPExcel();
            //set document Property
            $objWriter = \PHPExcel_IOFactory::createWriter($objExcel, 'Excel2007');


            $objActSheet = $objExcel->getActiveSheet();
            $key = ord("A");
            $letter =explode(',',"A,B,C,D,E,F,G,H,I");
            $arrHeader =  array('订单编号','手机','奖品','收件姓名','收件电话','收件地址','物流公司','物流单号','提交日期');;
            //填充表头信息
            $lenth =  count($arrHeader);
            for($i = 0;$i < $lenth;$i++) {
                $objActSheet->setCellValue("$letter[$i]1","$arrHeader[$i]");
            };
            //填充表格信息
            foreach($info as $k=>$v){
                $k +=2;
                $objActSheet->setCellValue('A'.$k,$v['order_id']);
                $objActSheet->setCellValue('B'.$k, $v['phone']);
                // // 图片生成
                // $objDrawing[$k] = new \PHPExcel_Worksheet_Drawing();
                // $objDrawing[$k]->setPath('public/static/admin/images/profile_small.jpg');
                // // 设置宽度高度
                // $objDrawing[$k]->setHeight(40);//照片高度
                // $objDrawing[$k]->setWidth(40); //照片宽度
                // /*设置图片要插入的单元格*/
                // $objDrawing[$k]->setCoordinates('C'.$k);
                // // 图片偏移距离
                // $objDrawing[$k]->setOffsetX(30);
                // $objDrawing[$k]->setOffsetY(12);
                // $objDrawing[$k]->setWorksheet($objPHPExcel->getActiveSheet());
                // 表格内容
               
                $objActSheet->setCellValue('C'.$k, $v['shou_info']);
                $objActSheet->setCellValue('D'.$k, $v['shou_name']);
                $objActSheet->setCellValue('E'.$k, $v['shou_phone']);
                $objActSheet->setCellValue('F'.$k, $v['shou_address']);

                $objActSheet->setCellValue('G'.$k, $v['kd']);
                $objActSheet->setCellValue('H'.$k, $v['wuliu_num']);
                $objActSheet->setCellValue('I'.$k, $v['time']);






                // 表格高度
                $objActSheet->getRowDimension($k)->setRowHeight(20);
            }


            $width = array(5,10,15,20,25,30,35,80);
            //设置表格的宽度
            $objActSheet->getColumnDimension('A')->setWidth($width[3]);
            $objActSheet->getColumnDimension('B')->setWidth($width[2]);
            $objActSheet->getColumnDimension('C')->setWidth($width[3]);
            $objActSheet->getColumnDimension('D')->setWidth($width[1]);
            $objActSheet->getColumnDimension('E')->setWidth($width[3]);
            $objActSheet->getColumnDimension('F')->setWidth($width[7]);
            $objActSheet->getColumnDimension('G')->setWidth($width[4]);
            $objActSheet->getColumnDimension('H')->setWidth($width[4]);
            $objActSheet->getColumnDimension('I')->setWidth($width[3]);




            $outfile = $name.date("Y-m-d").".xls";
            ob_end_clean();
            header("Content-Type: application/force-download");
            header("Content-Type: application/octet-stream");
            header("Content-Type: application/download");
            header('Content-Disposition:inline;filename="'.$outfile.'"');
            header("Content-Transfer-Encoding: binary");
            header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
            header("Pragma: no-cache");
            $objWriter->save('php://output');
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值