版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012767761/article/details/84855344
下载 PHPExcel(https://github.com/PHPOffice/PHPExcel)
把下载的 zip 包解压至 ./ThinkPHP/Library/Vendor 下
//导出
public function outexcel(){
vendor("PHPExcel.PHPExcel");
$PHPExcel = new \PHPExcel();
$PHPSheet = $PHPExcel->getActiveSheet();
$PHPSheet->setTitle("信息统计"); //给当前活动sheet设置名称
$PHPSheet->setCellValue("A1", "栏目1")
->setCellValue("B1", "栏目2")
->setCellValue("C1", "栏目3")
->setCellValue("D1", "栏目4")
->setCellValue("E1", "栏目5")
->setCellValue("F1", "栏目6")
->setCellValue("G1", "栏目7")
->setCellValue("H1", "栏目8")
->setCellValue("I1", "栏目9")
->setCellValue("J1", "栏目10");
//对齐方式
$PHPSheet->getStyle("A1:J1")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);//水平方向上两端对齐
$PHPSheet->getStyle("A1:J1")->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);//垂直方向上中间居中
$i = 2;
foreach($list as $data){
//对齐方式
$PHPSheet->getStyle("A{$i}:J{$i}")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);//水平方向上两端对齐
$PHPSheet->getStyle("A{$i}:J{$i}")->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);//垂直方向上中间居中
//设置行高
$PHPSheet->getRowDimension($i)->setRowHeight(20);
//设置行宽
$PHPSheet->getColumnDimension("B")->setWidth(20);
$i = 2;
foreach($list as $data){
$PHPSheet->setCellValue("A" . $i, $data['c0'])
->setCellValue("B" . $i, $data['c1'])
->setCellValue("C" . $i, $data['c2'])
->setCellValue("D" . $i, $data['c3'])
->setCellValue("E" . $i, $data['c4'])
->setCellValue("F" . $i, $data['c5'])
->setCellValue("G" . $i, $data['c6'])
->setCellValue("H" . $i, $data['c7'])
->setCellValue("I" . $i, $data['c8'])
->setCellValue("J" . $i, $data['c9']);
$i++;
}
$PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel, "Excel2007");
ob_end_clean();
header('Content-Disposition: attachment;filename="信息统计表格.xlsx"');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
$PHPWriter->save("php://output");
exit;
}