thinkphp excel导出

it2022-05-09  26

给大家复习下关键thinkphp excel导出的方法, 首先第一步先直接去下载个 PHPEXCEL包吧,然后就根据以下方法去掉调用下,具体如何引用每个框架引用不一样,按框架去引用。下面方法是公用的          

$fileName 是文件名如  $fileName=‘test’

$headArr是个数组如  $headArr=array(头一,头二,头三)

$data 是个数组 如

$data = array();             /*循环出数据*/             for($i=1;$i<9;$i++){                 /*基础数据*/                 $data[$i] = date('Y-m-d',$v['data']);//日期

            }

注意:头的位置要与值的位置对应不是会乱掉的

如头一对$data[0]的值哦,总的来说就是横向一一对应

/**      * 表格导出方法      * @param $fileName 文件名      * @param $headArr  表格头      * @param $data     表格内容      */     public  function getExcel($fileName,$headArr,$data){         /*导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入*/         import("Org.Util.PHPExcel");         import("Org.Util.PHPExcel.Writer.Excel5");         import("Org.Util.PHPExcel.IOFactory.php");

        /*表格名称加上后缀*/         $fileName = "{$fileName}.xls";

        /*创建PHPExcel对象,注意,不能少了*/         $objPHPExcel = new \PHPExcel();

        /*设置表头*/         $key = ord("A");         foreach($headArr as $v){             $colum = chr($key);             $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.'1', $v);             $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.'1', $v);             $key += 1;         }

        $column = 2;         $objActSheet = $objPHPExcel->getActiveSheet();

        foreach($data as $key => $rows){ //行写入             $span = ord("A");             foreach($rows as $keyName=>$value){// 列写入                 $j = chr($span);                 $objActSheet->setCellValue($j.$column, $value);                 $span++;             }             $column++;         }

        //设置活动单指数到第一个表,所以Excel打开这是第一个表         $objPHPExcel->setActiveSheetIndex(0);         ob_end_clean();//清除缓冲区,避免乱码         header('Content-Type: application/vnd.ms-excel;charset=UTF-8');         header("Content-Disposition: attachment;filename={$fileName}");         header('Cache-Control: max-age=0');         $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');         $objWriter->save('php://output'); //文件通过浏览器下载         exit;     }


最新回复(0)