亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

Yii2框架中使用PHPExcel導出Excel文件的示例

2024-05-04 23:59:17
字體:
來源:轉載
供稿:網友

?最近在研究PHP的Yii框架,很喜歡,碰到導出Excel的問題,研究了一下,就有了下面的方法:

最簡單的利用composer安裝

composer require "phpoffice/phpexcel": "*"

如果沒有安裝conposer可以參考下面1.2步

1、引入PHPExcel

首先得要下載phpexcel地址:https://github.com/PHPOffice/PHPExcel/archive/1.8.1.zip

你可以直接在入口文件index.php中引入,也可以在你定義的controller類之前,只要是在你使用之前引入就可以

require dirname(dirname(__FILE__)).'/excel/PHPExcel.php';

或者在phpexcel類里修改相應的namespace也可。

2、按照下面的代碼修改PHPExcel代碼目錄里的Autoloader.php文件,對比源文件改成:

public static function Register() {  $functions = spl_autoload_functions();  foreach ( $functions as $function)    spl_autoload_unregister($function);    $functions = array_merge(array(array('PHPExcel_Autoloader','Load')),$functions);  foreach ( $functions as $function)    $x = spl_autoload_register($function);    return $x;}

上面的函數中,注釋掉的是原有的代碼。

3、下面的代碼是輸出Excel,以及一些常用的屬性設置,在controller中:

public function actionExport(){    $objectPHPExcel = new PHPExcel();    $objectPHPExcel->setActiveSheetIndex(0);      $page_size = 52;    $model = new NewsSearch();    $dataProvider = $model->search();    $dataProvider->setPagination(false);    $data = $dataProvider->getData();    $count = $dataProvider->getTotalItemCount();    $page_count = (int)($count/$page_size) +1;    $current_page = 0;    $n = 0;    foreach ( $data as $product )    {      if ( $n % $page_size === 0 )      {        $current_page = $current_page +1;          //報表頭的輸出        $objectPHPExcel->getActiveSheet()->mergeCells('B1:G1');        $objectPHPExcel->getActiveSheet()->setCellValue('B1','產品信息表');          $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('B2','產品信息表');        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('B2','產品信息表');        $objectPHPExcel->setActiveSheetIndex(0)->getStyle('B1')->getFont()->setSize(24);        $objectPHPExcel->setActiveSheetIndex(0)->getStyle('B1')          ->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);          $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('B2','日期:'.date("Y年m月j日"));        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('G2','第'.$current_page.'/'.$page_count.'頁');        $objectPHPExcel->setActiveSheetIndex(0)->getStyle('G2')          ->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);                  //表格頭的輸出        $objectPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(5);        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('B3','編號');        $objectPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(6.5);        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('C3','名稱');        $objectPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(17);        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('D3','生產廠家');        $objectPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(22);        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('E3','單位');        $objectPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15);        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('F3','單價');        $objectPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15);        $objectPHPExcel->setActiveSheetIndex(0)->setCellValue('G3','在庫數');        $objectPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(15);                  //設置居中        $objectPHPExcel->getActiveSheet()->getStyle('B3:G3')          ->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);          //設置邊框        $objectPHPExcel->getActiveSheet()->getStyle('B3:G3' )          ->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);        $objectPHPExcel->getActiveSheet()->getStyle('B3:G3' )          ->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);        $objectPHPExcel->getActiveSheet()->getStyle('B3:G3' )          ->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);        $objectPHPExcel->getActiveSheet()->getStyle('B3:G3' )          ->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);        $objectPHPExcel->getActiveSheet()->getStyle('B3:G3' )          ->getBorders()->getVertical()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);          //設置顏色        $objectPHPExcel->getActiveSheet()->getStyle('B3:G3')->getFill()          ->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB('FF66CCCC');                }      //明細的輸出      $objectPHPExcel->getActiveSheet()->setCellValue('B'.($n+4) ,$product->id);      $objectPHPExcel->getActiveSheet()->setCellValue('C'.($n+4) ,$product->product_name);      $objectPHPExcel->getActiveSheet()->setCellValue('D'.($n+4) ,$product->product_agent->name);      $objectPHPExcel->getActiveSheet()->setCellValue('E'.($n+4) ,$product->unit);      $objectPHPExcel->getActiveSheet()->setCellValue('F'.($n+4) ,$product->unit_price);      $objectPHPExcel->getActiveSheet()->setCellValue('G'.($n+4) ,$product->library_count);      //設置邊框      $currentRowNum = $n+4;      $objectPHPExcel->getActiveSheet()->getStyle('B'.($n+4).':G'.$currentRowNum )          ->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);      $objectPHPExcel->getActiveSheet()->getStyle('B'.($n+4).':G'.$currentRowNum )          ->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);      $objectPHPExcel->getActiveSheet()->getStyle('B'.($n+4).':G'.$currentRowNum )          ->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);      $objectPHPExcel->getActiveSheet()->getStyle('B'.($n+4).':G'.$currentRowNum )          ->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);      $objectPHPExcel->getActiveSheet()->getStyle('B'.($n+4).':G'.$currentRowNum )          ->getBorders()->getVertical()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);      $n = $n +1;      }      //設置分頁顯示    //$objectPHPExcel->getActiveSheet()->setBreak( 'I55' , PHPExcel_Worksheet::BREAK_ROW );    //$objectPHPExcel->getActiveSheet()->setBreak( 'I10' , PHPExcel_Worksheet::BREAK_COLUMN );    $objectPHPExcel->getActiveSheet()->getPageSetup()->setHorizontalCentered(true);    $objectPHPExcel->getActiveSheet()->getPageSetup()->setVerticalCentered(false);        ob_end_clean();    ob_start();      header('Content-Type : application/vnd.ms-excel');    header('Content-Disposition:attachment;filename="'.'產品信息表-'.date("Y年m月j日").'.xls"');    $objWriter= PHPExcel_IOFactory::createWriter($objectPHPExcel,'Excel5');    $objWriter->save('php://output');

代碼執行后,會直接生成Excel,并提示下載或打開。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品中文字幕电影| 日韩电影中文字幕在线| 亚洲福利精品在线| 国产精品日韩精品| 91精品在线一区| 国产精品揄拍500视频| 国内精品在线一区| 国产精品福利无圣光在线一区| 国产午夜精品美女视频明星a级| 日韩在线观看高清| 成人自拍性视频| 国产精品免费视频xxxx| 亚洲专区中文字幕| 日韩在线中文字| 91九色精品视频| 欧美高清在线视频观看不卡| 日韩中文综合网| 欧美大成色www永久网站婷| 国产精品999999| 国产午夜精品美女视频明星a级| 亚洲自拍小视频| 日韩欧美国产网站| 日本国产精品视频| 亚洲一区二区国产| 日日骚av一区| 亚洲精品美女在线| 欧美激情xxxxx| 中日韩美女免费视频网址在线观看| 日韩在线激情视频| 美乳少妇欧美精品| 国内精久久久久久久久久人| 国产成人精品综合| 日韩中文有码在线视频| 色妞色视频一区二区三区四区| 91色精品视频在线| 69久久夜色精品国产69| 欧美成人免费小视频| 国产精品青青在线观看爽香蕉| 久久久噜久噜久久综合| 91av网站在线播放| 久久久亚洲网站| 国产成人福利网站| www国产亚洲精品久久网站| 98午夜经典影视| 国产精品久久久久久久久久久久久久| 主播福利视频一区| 色先锋资源久久综合5566| 精品久久久精品| 精品成人久久av| 亚洲直播在线一区| 欧美日韩中文在线观看| 国产精品色婷婷视频| 欧美精品久久久久久久久| 亚洲一区二区三区成人在线视频精品| 亚洲国产精久久久久久| 亚洲国产欧美一区二区三区同亚洲| 中文字幕精品一区久久久久| 久久av中文字幕| 国产精品白嫩美女在线观看| 亚洲专区中文字幕| 成人高清视频观看www| 久久亚洲成人精品| 欧美黑人xxxx| 97色在线播放视频| 日韩高清电影免费观看完整版| 日韩欧美在线中文字幕| 黄色91在线观看| 一区二区欧美日韩视频| 欧美黑人xxxⅹ高潮交| 成人xxxx视频| 国产精品久久久久一区二区| 国产精品免费在线免费| 亚洲开心激情网| 亚洲精品一区二区三区婷婷月| 日韩精品在线电影| 中国人与牲禽动交精品| 国产精品免费看久久久香蕉| 国产综合福利在线| 国产精品视频男人的天堂| 欧美精品一二区| 538国产精品一区二区免费视频| 欧美丝袜第一区| 欧美电影第一页| 国产日韩欧美在线观看| 成人黄色av免费在线观看| 少妇高潮 亚洲精品| 亚洲高清色综合| 国产精品视频在线播放| 久久午夜a级毛片| 日韩免费视频在线观看| 亚洲男人av在线| 国产精品精品视频| 亚洲精品v欧美精品v日韩精品| 91中文精品字幕在线视频| 精品久久久久久久久久久久久| 亚洲成人a级网| 亚洲v日韩v综合v精品v| 国产日韩欧美另类| 国产美女91呻吟求| 88国产精品欧美一区二区三区| 亚洲精品福利免费在线观看| 日韩电影中文字幕在线| 亚洲精品国产免费| 国产国语刺激对白av不卡| 精品久久久久久国产91| 国产成人avxxxxx在线看| 久久人人爽人人爽人人片av高请| 欧美有码在线观看视频| 午夜精品久久17c| 亚洲精品成人久久久| 欧美中在线观看| 最新的欧美黄色| 欧美在线视频观看免费网站| 国产精品入口免费视频一| 久久99国产精品久久久久久久久| 国产精品久久久久久久久久| 日韩精品在线影院| 国产精品69精品一区二区三区| 国产成人久久精品| 亚洲精品中文字幕有码专区| 日韩高清有码在线| 91a在线视频| 在线精品播放av| 亚洲电影天堂av| 国产精品久久久久不卡| 91精品久久久久久久久久| zzjj国产精品一区二区| 精品国产乱码久久久久久天美| 欧美成人免费播放| 成人久久精品视频| 亚洲人精品午夜在线观看| 97色在线视频观看| 2019av中文字幕| 91亚洲精品一区| 欧美黑人巨大精品一区二区| 亚洲а∨天堂久久精品喷水| 亚洲欧美在线磁力| 日韩在线视频观看| 亚洲深夜福利在线| 亚洲日韩欧美视频一区| 国产精品女主播视频| 久久中文久久字幕| 97超级碰在线看视频免费在线看| 日韩高清免费在线| 久久成年人视频| 精品福利在线看| 亚洲亚裔videos黑人hd| 色在人av网站天堂精品| 久久全球大尺度高清视频| 欧美性少妇18aaaa视频| 日韩视频在线观看免费| 91亚洲国产精品| 国产在线精品成人一区二区三区| 国内精品400部情侣激情| 亚洲第一精品福利| 一区二区福利视频| 亚洲国产成人久久综合一区| 色婷婷综合成人av| 久久影视电视剧免费网站清宫辞电视| 亚洲欧美变态国产另类| 国产精品亚洲аv天堂网| 日本一欧美一欧美一亚洲视频| 国产精品私拍pans大尺度在线| 久久香蕉国产线看观看av|