composer下载插件:composer require phpoffice/phpexcel
前段设置一个按钮或者链接
<a href="excel">导出</a>
后端接受数据
public function excel(){
$PHPExcel=new \PHPExcel();
$PHPSheet = $PHPExcel->getActiveSheet();
$file_name = date('Y-m-d_H:i:s') . '表格' . '.xls';//设置文件名称
$PHPSheet->setTitle("代理商");//表头
$PHPSheet->setCellValue("A1", "ID");//根据字段设置表头
$PHPSheet->setCellValue("B1", "分类名称");
$PHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);//设置表格宽度
$PHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
// 设置垂直居中
$PHPExcel->setActiveSheetIndex(0)->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$PHPExcel->setActiveSheetIndex(0)->getStyle('B')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$i = 2;//数据从第二行起
$data=\app\One\model\One::show();//接受数据库数据
foreach ($data as $key => $value) {
$PHPSheet->setCellValue('A' . $i, '' . $value['tid']);//循环输出数据
$PHPSheet->setCellValue('B' . $i, '' . $value['type_name']);
$i++;
}
$PHPExcel->setActiveSheetIndex(0);
$objWriter = \PHPExcel_IOFactory::createWriter($PHPExcel, "Excel2007");
header('Content-Disposition: attachment;filename=' . $file_name);
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Cache-Control: max-age=0');
$objWriter->save("php://output");//浏览器下载
}