天天看點

php office導出excel,phpoffice/phpexcel 導出資料

一、安裝 phpoffice/phpexcel

composer require phpoffice/phpexcel

二、建立對象,寫入資料

$objPHPExcel = new \PHPExcel();

$excellie = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ'];

$data = [

['name'=>'小紅','age'=>10,'sex'=>'boy'],

['name'=>'小橙','age'=>10,'sex'=>'girl'],

['name'=>'小黃','age'=>11,'sex'=>'girl'],

];

foreach ($data as $key=>$item){

$c = $key+1;                     #行

foreach($item AS $k=>$v){

$letter=$excellie[$k];       # 列

$objPHPExcel->getActiveSheet()->setCellValue($letter.$c, $val);

}

}

表格樣式

字型顔色:

$objPHPExcel->getActiveSheet()->getStyle("A1")->getFont()->getColor()->setRGB('fb6400');

字型大小:

$objPHPExcel->getActiveSheet()->getStyle("A1")->getFont()->setBold(true)->setSize(14);

//設定單元格寬

$objPHPExcel->getActiveSheet()->getColumnDimension("A")->setWidth(30);

//字型加粗

$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setName('宋體') //字型

->setBold(true); //字型加粗

合并單元格:

$objPHPExcel->getActiveSheet()->mergeCells("A1:B1");

設定居中:

$objPHPExcel->getActiveSheet()->getStyle("A1:B1")->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

三、寫入本地

$objWriter=\PHPExcel_IOFactory::createWriter($objPHPExcel,"Excel2007");

$objPHPExcel->getActiveSheet()->setTitle('清單.xls');