php利用XLSXWriter 匯出excel檔案
阿新 • • 發佈:2018-11-27
php利用XLSXWriter 匯出excel檔案
// 首先引入XLSXWriter包 include_once("XLSXWriter.php"); $writer = new XLSXWriter(); // 設定表頭 $header = array( 'ID'=>'string',"IP"=>"string" ); // 設定excel表 $sheet = 'Sheet1'; // 設定樣式 $col_style = array_values($header); $options = array( 'suppress_row'=>true, //suppress_row: 去掉會多出一行資料 'widths'=>array( 10,10 // 每一列的寬度 ), ); $writer->writeSheetHeader($sheet, $col_style, $options); //寫入第二行的資料,順便指定樣式 $header_style=array('height'=>32,'font-size'=>18,'font-style'=>'bold', 'halign'=>'left','valign'=>'center'); $member = date("Y-m-d H:i:s",$time).'>>>成功匯出'.$count.'位客戶'; $writer->writeSheetRow($sheet, array($member), $header_style); /*設定標題頭,指定樣式*/ $styles1 = array( 'font'=>'宋體','font-size'=>10,'font-style'=>'bold', 'fill'=>'#eee', 'halign'=>'center', 'border'=>'left,right,top,bottom' ); $title = array_keys($header); $writer->writeSheetRow($sheet, $title, $styles1); //執行xlsxwriter匯出資料 if($data){ foreach($data as $row){ $writer->writeSheetRow('Sheet1', $row, array('height'=>16)); } } unset($data); //重新重新整理緩衝區,釋放記憶體中的變數 ob_flush(); flush(); //合併單元格,第一行的大標題需要合併單元格 $writer->markMergedCell($sheet, $start_row=0, $start_col=0, $end_row=0, $end_col=27); $filename = 'down/'.date('Ymdhms').'.xlsx'; $writer->writeToFile($filename); echo "<a href='$filename'>點選下載</a>"; unset($writer); exit(0);
需要XLSXWriter檔案的小夥伴 可以點選 這裡