1. 程式人生 > >php利用XLSXWriter 匯出excel檔案

php利用XLSXWriter 匯出excel檔案

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檔案的小夥伴 可以點選 這裡