thinkphp excel 数据导出excel(自用备份)

来源:互联网 发布:安卓手机刷windows系统 编辑:程序博客网 时间:2024/06/05 09:16
<?php/** * 导出excel方法 * @param  array  $datas 数组 * @return excel      excel表格 */function exportExcel($datas=array()){   // $data['excelInfo']=array(          //     'title'        => "管理员账号",          //     'subject'      => "管理员",          //     'description'  => "管理员账号",          //     'keywords'     => "管理员账号",          //     'category'     => "管理员",          //     'sheet'        => "sheet",          //     'creator'      => "管理员",          //     'LastModified' => "管理员"          // );          // $data['table']=array(          //     'table_name'        => "manager",          //     'list'              => array(          //                        //"数据库字段名" =>  "excel显示名"          //                          "mg_name"    =>   "用户名",          //                          "mg_mobile"  =>   "联系方式",          //                          "mg_email"   =>   "电子邮件"          //                 )          //               );          // $data['excel_name']="管理员账号";        # code...        //导入类库         Vendor("PHPExcel.Classes.PHPExcel");         $objPHPExcel = new \PHPExcel();           if(!empty($datas)){                $excelInfo=$datas['excelInfo'];                $table=$datas['table'];                $excel_name=$datas['excel_name'];                $objPHPExcel->getProperties()                                                ->setCreator($excelInfo['creator'])                        ->setLastModifiedBy($excelInfo['LastModified'])                        ->setTitle($excelInfo['title'])                        ->setSubject($excelInfo['subject'])                        ->setDescription($excelInfo['description'])                        ->setKeywords($excelInfo['keywords'])                        ->setCategory($excelInfo['category']);                $list=M($table['table_name']);                $data_list=$list->select();                                $i=2;                $c ='a';                  //最多 26个 title                  foreach ($table['list'] as $key=>$value) {                      $objPHPExcel->setActiveSheetIndex(0)->setCellValue($c.'1', $value);                     $c++;                  }                  $objPHPExcel->setActiveSheetIndex(0);                  foreach($data_list as $key=>$value){                      $d='a';                      foreach($table['list'] as $k => $v){                          $objPHPExcel->setActiveSheetIndex(0)->setCellValue($d.$i, $value[$k]);                          $d++;                      }                   $i++;                }                 $objPHPExcel->getActiveSheet()->setTitle($excelInfo['sheet']);//设置sheet标签的名称                 $objPHPExcel->setActiveSheetIndex(0);                  ob_end_clean();  //清空缓存                   header("Pragma: public");                  header("Expires: 0");                  header("Cache-Control:must-revalidate,post-check=0,pre-check=0");                  header("Content-Type:application/force-download");                  header("Content-Type:application/vnd.ms-execl");                  header("Content-Type:application/octet-stream");                  header("Content-Type:application/download");                  header('Content-Disposition:attachment;filename='.$excel_name.'.xls');//设置文件的名称                  header("Content-Transfer-Encoding:binary");                  $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');                  $objWriter->save('php://output');           } }?>

0 0
原创粉丝点击