TP5 导出 excel文件

https://github.com/PHPOffice/PHPExcel  //如果内网不能打开-用梯子

将下载后的目录放在项目根目录的 extend/下

一个方法搞定!

  public function out($res){
        
        include EXTEND_PATH . "PHPExcel/PHPExcel.php";
        
        $PHPExcel=new \PHPExcel();
 
        $PHPSheet = $PHPExcel->getActiveSheet();
 
        $file_name = date('Y-m-d_H:i:s') . '订单数据'.'.xls';//设置文件名称
 
        $PHPSheet->setTitle("代理商");//表头
        $PHPSheet->setCellValue("A1", "订单ID");//根据字段设置表头
        $PHPSheet->setCellValue("B1", "订单编号");

 
        $PHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);//设置表格宽度
        $PHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(10);

        
        
        // 设置垂直居中
        $PHPExcel->setActiveSheetIndex(0)->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $PHPExcel->setActiveSheetIndex(0)->getStyle('B')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

        $i = 2;//数据从第二行起
 
     //   $data=\app\One\model\One::show();//接受数据库数据
     
     //    $model=model('Order');
    //    $data  =$model->alias('a')->join('pay b','a.order_pay = b.pay_site')->select();//这里是获取数据的地方 

        foreach ($res as $key => $value) {
            $PHPSheet->setCellValue('A' . $i, '' . $value['order_id']);//循环输出数据
            $PHPSheet->setCellValue('B' . $i, '' . $value['order_mun']);
            $PHPSheet->setCellValue('c' . $i, '' . $value['order_name']);
            $i++;
        }
 
        $PHPExcel->setActiveSheetIndex(0);
        $objWriter = \PHPExcel_IOFactory::createWriter($PHPExcel, "Excel2007");
        header('Content-Disposition: attachment;filename=' . $file_name);
        header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
        header('Cache-Control: max-age=0');
        $objWriter->save("php://output");//浏览器下载


        
    }

猜你喜欢

转载自blog.csdn.net/munchmills/article/details/126543384