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

<?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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值