溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用PHPExcel怎么導(dǎo)出Excel表

發(fā)布時(shí)間:2021-05-17 16:54:43 來源:億速云 閱讀:184 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹使用PHPExcel怎么導(dǎo)出Excel表,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

具體內(nèi)容如下

/**
   * Excel導(dǎo)出
   * @param $fileName(文件名)
   * @param $headArr (表頭)
   * @param $data  (每一行的數(shù)據(jù))
   * @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(empty($data) || !is_array($data)){
      die("data must be a array");
    }
    if(empty($fileName)){
      exit;
    }
    $date = date("Y_m_d",time());
    $fileName .= "_{$date}.xlsx";
 
    //創(chuàng)建新的PHPExcel對(duì)象
    $objPHPExcel = new \PHPExcel();
    $objProps = $objPHPExcel->getProperties();
 
    //設(shè)置表頭
    $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);
        //把每個(gè)單元格設(shè)置成分文本類型
        //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');
    //設(shè)置活動(dòng)單指數(shù)到第一個(gè)表,所以Excel打開這是第一個(gè)表
    $objPHPExcel->setActiveSheetIndex(0);
    //將輸出重定向到一個(gè)客戶端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); //腳本方式運(yùn)行,保存在當(dāng)前目錄
//    }
    $objWriter->save('php://output');
    exit;
 
  }

關(guān)于使用PHPExcel怎么導(dǎo)出Excel表就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI