Thinkphp中使用PHPExcel导出数据

1、首页根据项目需求来处理好项目所需要的数据格式

2、引入PHPExcel文件包

3、由于该版本的PHPExcel没有命名空间的原因,所以在使用该包内的类的时候都应该在其前面加上反斜线"\"

4、输出对应的excel表格

        vendor("PHPExcel.PHPExcel");//引入PHPExcel包
        $objExcel = new \PHPExcel();
        $objProps = $objExcel->getProperties();
        $objProps->setCreator('EC');
        $objProps->setTitle('Template');
        $objExcel->setActiveSheetIndex(0);
        $objActSheet = $objExcel->getActiveSheet();
        //设置单元格宽度
        $objActSheet->getColumnDimension('A')->setWidth(25);
        $objActSheet->getColumnDimension('B')->setWidth(25);
        $objActSheet->getColumnDimension('C')->setWidth(15);
        $objActSheet->getColumnDimension('D')->setWidth(15);
        $objActSheet->getColumnDimension('E')->setWidth(15);
        $objActSheet->getColumnDimension('F')->setWidth(20);
        $objActSheet->getColumnDimension('G')->setWidth(20);
        $objActSheet->getColumnDimension('H')->setWidth(20);
        //设置Excel表头
        $objActSheet->setCellValue('A1','订单号');
        $objActSheet->setCellValue('B1','买家');
        $objActSheet->setCellValue('C1','商品总价');
        $objActSheet->setCellValue('D1','折扣');
        $objActSheet->setCellValue('E1','运费');
        $objActSheet->setCellValue('F1','应付金额');
        $objActSheet->setCellValue('G1','订单状态');
        $objActSheet->setCellValue('H1','创建时间');
        $index = 2;
        // 订单号 买家  商品总价    折扣  运费  应付金额    订单状态    创建时间
        foreach($orderList as $key=>$value){
            $objActSheet->setCellValueExplicit("A".$index,$value['order_sn'],\PHPExcel_Cell_DataType::TYPE_STRING);
            $objActSheet->getStyle('A'.$index)->getNumberFormat()->setFormatCode("@");//设置单元格格式
            $objActSheet->setCellValueExplicit("B".$index,$value['user_name'],\PHPExcel_Cell_DataType::TYPE_STRING);
            $objActSheet->setCellValueExplicit("C".$index,$value['goods_amount'],\PHPExcel_Cell_DataType::TYPE_STRING);
            $objActSheet->setCellValueExplicit("D".$index,$value['discount']);
            $objActSheet->setCellValueExplicit("E".$index,$value['shipping_fee'],\PHPExcel_Cell_DataType::TYPE_STRING);
            $objActSheet->setCellValueExplicit("F".$index,$value['order_amount'],\PHPExcel_Cell_DataType::TYPE_STRING);
            $objActSheet->setCellValueExplicit("G".$index,$orderStatus[$value['status']],\PHPExcel_Cell_DataType::TYPE_STRING);
            $objActSheet->setCellValueExplicit("H".$index,date('Y-m-d H:i:s',$value['add_time']),\PHPExcel_Cell_DataType::TYPE_STRING);
            $index++;
        }
        //输出excel表格
        header('Pragma:public');
        header('Content-Type:application/x-msexecl;name="' . $filename . '.xls');
        header("Content-Disposition:inline;filename=" . $filename . '.xls');
        $objWriter = \PHPExcel_IOFactory::createWriter($objExcel, 'Excel5');
        $objWriter->save('php://output');