最近整理了一下以前写的代码
以前用的tp5写的 tp5.1改了引用方法 所以用composer 方便一点
附上代码 下载类库
composer require phpoffice/phpexcel
引入类库
use PHPExcel;
use PHPExcel_IOFactory;
下载方法
public function out(){
$leaves=db('leave')->where($where)->select();
$objPHPExcel=new \PHPExcel();
//设置表头信息
$objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', '发布人')
//中间的省略...
->setCellValue('L1', '发布图片');
for ($i = 0; $i <count($data); $i++) {
$objPHPExcel->getActiveSheet()->setCellValue('A' . ($i+3), $data[$i]['user_name']);
//中间的省略...
$objPHPExcel->getActiveSheet()->setCellValue('L' . ($i+3), $data[$i]['img']);
}
//设置sheet的名称
$objPHPExcel->getActiveSheet()->setTitle('leave');
// 导出第一个表0 第二个1......
$objPHPExcel->setActiveSheetIndex(0);
// $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$PHPWriter = \PHPExcel_IOFactory::createWriter( $objPHPExcel,"Excel2007");//excel5为xls格式,excel2007为xlsx格式
//ob_end_clean();//这一步非常关键,用来清除缓冲区防止导出的excel乱码这里可以不用写
header('Content-Disposition: attachment;filename="问题留言-'.date('Y-m-d', time()).'.xlsx"');
header('Content-Type: application/vnd.ms-excel');
$PHPWriter->save("php://output");
exit;
}