天天看點

PHP使用xlsxwriter導出Excel

首先使用composer安裝xlsxwriter,示例如下:

composer create-project mk-j/php_xlsxwriter
// 或者
composer require mk-j/php_xlsxwriter
           

安裝完成之後就可以使用了,下面是簡單的使用示例:

$title = ['昵稱','頭像','手機号','日期'];//設定頭

$sheet1 = 'sheet1';//設定工作簿名稱

$writer = new \XLSXWriter();
$styles1 = array( 'font'=>'宋體','font-size'=>10,'font-style'=>'bold', 'fill'=>'#eee',
            'halign'=>'center', 'border'=>'left,right,top,bottom');//設定樣式
$writer->writeSheetRow($sheet1, $title,$styles1);//寫入頭

$styles2 = ['height'=>16];//單獨設定頭的樣式
//周遊資料
foreach($data as $row){
    $writer->writeSheetRow($sheet1,[$row['nickname'],$row['head_img'],$row['tel'],$row['add_time']],$styles2);//寫入資料
}
//設定 header,用于浏覽器下載下傳
$filename = "members.xlsx";//下載下傳名

header('Content-disposition: attachment; filename="'.\XLSXWriter::sanitize_filename($filename).'"');
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate');
header('Pragma: public');
$writer->writeToStdOut();die;//輸出