1. 将下载好的PHPExcel 中的classes文件夹放在vendor目录下。有的在PHPOffice中就有PHPExcel。
2. 在入口文件中引入该类
require(__DIR__ . '/../../vendor/PHPExcel/PHPExcel.php');
3. 在需要用的地方实例化
$arr=Job::find()->asArray()->all();
//获取要导出的数据
$objPHPExcel=new \PHPExcel;
// 实例化excel类
$objPHPExcel->getProperties()
->setCreator('http://www.jb51.net')
->setLastModifiedBy('http://www.jb51.net')
->setTitle('Office 2007 XLSX Document')
->setSubject('Office 2007 XLSX Document')
->setDescription('Document for Office 2007 XLSX, generated using PHP classes.')
->setKeywords('office 2007 openxml php')
->setCategory('Result file');
//设置参数
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1','ID')
->setCellValue('B1','职位名称')
->setCellValue('C1','排序');
//设置表头
$i=2;
foreach($arr as $k=>$v){
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$i,$v['id'])
->setCellValue('A'.$i,$v['categoryname'])
->setCellValue('B'.$i,$v['category_order']);
$i++;
}
//循环输出数据库中的信息 并放到对应的单元格中
$objPHPExcel->getActiveSheet()->setTitle('招聘');
//标题名称
$objPHPExcel->setActiveSheetIndex(0);
$filename=urldecode('职位列表').'_'.date('Y-m-dHis');
//文件名称
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition:attachment;filename="'.$filename.'.xls"');
// 生成xls文件
header('Cache-Control: max-age=0');
$objWriter=\PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');
//若要生成xlsx文件 则要改为Excel2007
$objWriter->save('php://output');