加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

利用PHPExcel导出Excel表

发布时间:2023-09-27 11:10:06 所属栏目:PHP教程 来源:
导读:本文实例为大家分享了PHPExcel导出Excel表的具体代码,供大家参考,具体内容如下:

/**
* Excel导出
* @param $fileName(文件名)
* @param $headArr (表头)
* @param $data (每一行的数
本文实例为大家分享了PHPExcel导出Excel表的具体代码,供大家参考,具体内容如下:

/** 
   * Excel导出 
   * @param $fileName(文件名) 
   * @param $headArr (表头) 
   * @param $data  (每一行的数据) 
   * @throws /PHPExcel_Exception 
   * @throws /PHPExcel_Reader_Exception 
   */ 
  function getExcel($fileName,$headArr,$data){ 
    include_once (THINK_PATH."Library/Vendor/phpexcel/PHPExcel.php"); 
    include_once (THINK_PATH."Library/Vendor/phpexcel/PHPExcel/Writer/Excel2007.php"); 
    include_once (THINK_PATH."Library/Vendor/phpexcel/PHPExcel/Writer/Excel5.php"); 
    include_once (THINK_PATH."Library/Vendor/phpexcel/PHPExcel/IOFactory.php"); 
    if(emptyempty($data) || !is_array($data)){ 
      die("data must be a array"); 
    } 
    if(emptyempty($fileName)){ 
      exit; 
    } 
    $date = date("Y_m_d",time()); 
    $fileName .= "_{$date}.xlsx"; 
   
    //创建新的PHPExcel对象 
    $objPHPExcel = new /PHPExcel(); 
    $objProps = $objPHPExcel->getProperties(); 
   
    //设置表头 
    $key = ord("A"); 
    $key2 = ord("A"); 
    $colum2 = ''; 
    $objActSheet = $objPHPExcel->getActiveSheet(); 
    $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(25); 
    foreach($headArr as $v){ 
      $colum = chr($key); 
      $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum2.$colum.'1', $v); 
      if($key < 90){ 
        $key += 1; 
      }else{ 
        $key = ord("A"); 
        $colum2 = chr($key2); 
        $key2++; 
      } 
    } 
    //exit; 
    $column = 2; 
   
    foreach($data as $key => $rows){ //行写入 
      $span = ord("A"); 
      $span2 = ord("A"); 
      $j2 = ''; 
      foreach($rows as $keyName=>$value){// 列写入 
        $j = chr($span); 
        //$objActSheet->setCellValue($j.$column, $value); 
        //把每个单元格设置成分文本类型 
        //dump($j2.$j.$column); 
        $objActSheet->setCellValueExplicit($j2.$j.$column,$value,/PHPExcel_Cell_DataType::TYPE_STRING); 
   
        if($span < 90){ 
          $span += 1; 
        }else{ 
          $span = ord("A"); 
          $j2 = chr($span2); 
          $span2++; 
        } 
      } 
      $column++; 
    } 
    // exit; 
    $fileName = iconv("utf-8", "gb2312", $fileName); 
    //重命名表 
    $objPHPExcel->getActiveSheet()->setTitle('Simple'); 
    //设置活动单指数到第一个表,所以Excel打开这是第一个表 
    $objPHPExcel->setActiveSheetIndex(0); 
    //将输出重定向到一个客户端web浏览器(Excel2007) 
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); 
    header("Content-Disposition: attachment; filename=/"$fileName/""); 
    header('Cache-Control: max-age=0'); 
    $objWriter = /PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); 
//    if(!empty($_GET['excel'])){ 
//      $objWriter->save('php://output'); //文件通过浏览器下载 
//    }else{ 
//      $objWriter->save($fileName); //脚本方式运行,保存在当前目录 
//    } //Cuoxin.com 
    $objWriter->save('php://output'); 
    exit; 
   
  } 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章