首先下載並且引入PHPExcel
實例化PHPExcel
$excel = new \PHPExcel();
對錶格進行一些設置
設置字體
// 設置字體
$excel->getDefaultStyle()->getFont()->setName('宋體');
設置當前工作表及索引
$excel->setActiveSheetIndex(0);
// 如果新建工作表,例如循環
foreach ($data as $key => $value) {
if ($key >= 1) {
$excel->createSheet();
}
$excel->setActiveSheetIndex($key);
}
$objActSheet = $excel->getActiveSheet();
設置行高
// 設置行高
$objActSheet->getDefaultRowDimension()->setRowHeight(30);
設置工作表名稱
$objActSheet->setTitle('name');
設置列寬
$objActSheet->getColumnDimension('A')->setWidth(10);
$objActSheet->getColumnDimension('B')->setWidth(30);
$objActSheet->getColumnDimension('C')->setWidth(12);
$objActSheet->getColumnDimension('D')->setWidth(15);
$objActSheet->getColumnDimension('E')->setWidth(12);
$objActSheet->getColumnDimension('F')->setWidth(12);
$objActSheet->getColumnDimension('G')->setWidth(12);
$objActSheet->getColumnDimension('H')->setWidth(12);
設置文字水平居中
// 設置水平居中
$objActSheet->getStyle('A1:H1')->getAlignment()->setHorizontal('center');
合併單元格並設置內容
// 設置內容 將A1至H1合併,並且設置內容爲發貨清單。設置字體18號加粗
$objActSheet->mergeCells('A1:H1')->setCellValue('A1', '發貨清單')->getStyle('A1')->getFont()->setSize(18)->setBold(true);
設置文字垂直居中
// 設置垂直居中
$objActSheet->getStyle('A1:H10')->getAlignment()->setVertical('center');
設置邊框
// 設置邊框 將A1-H10設置全部邊框
$styleThinBlackBorderOutline = [
'borders' => [
'allborders' => [ // //設置全部邊框
'style' => 'thin' //粗的是thick
]
]
];
$objActSheet->getStyle('A1:H10')->applyFromArray($styleThinBlackBorderOutline);
下載Excel
// 文件名稱
$fileName = 'filename';
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="' . $fileName . '.xlsx"');
header('Cache-Control: max-age=0');
// 用戶下載excel
$objWriter = \PHPExcel_IOFactory::createWriter($excel, 'Excel2007');
$objWriter->save('php://output');
exit();