环境: yii框架 basic版
1.下载 PHPexcel (我用的是PHPExcel-1.8.1)
2.将下载的文件夹 (PHPExcel-1.8.1)放至 vender下 (路径:basic/vender/PHPExcel-1.1.8.1)
3.在控制器中引入 PHPExcel.php
require(__DIR__.'../../vendor/PHPExcel-1.8.1/Classes/PHPExcel.php');
//导出excel表格
public function actionExport()
{
//查订单表 查出数据
$sql = "select yuyue.id,indent,user,time,hao,movie from user join yuyue on `user`.id=yuyue.u_id join indent on `user`.id=indent.u_id ";
$data = yii::$app->db->createCommand($sql)->queryAll();
require(__DIR__.'../../vendor/PHPExcel-1.8.1/Classes/PHPExcel.php');
$name = 'Excelfile'; //生成的Excel文件名
$excel = new PHPExcel;
//设置
$excel->getProperties()->setCreator('转弯的月光') //创建人
->setLastModifiedBy('转弯的阳光') //最后修改认
->setTitle('数据EXCEL导出') //标题
->setSubject('数据EXCEL到处') //题目
->setDescription('备份数据') //描述
->setKeywords('excel') //关键字
->setCategory('result file'); //种类
/*-----------------------------以上设置不重要------------------------------------------*/
//以下就是对处理Excel里的数据,横着取数据,主要是这一步
foreach ($data as $k=>$v)
{
$num = $k+2;
$excel->setActiveSheetIndex(0)
->setCellValue('B1','预约ID')
->setCellValue('C1','预约号')
->setCellValue('D1','预约时间')
->setCellValue('E1','预约人')
->setCellValue('F1','预约电影')
->setCellValue('G1','预约座位')
->setCellValue('B'.$num,$v['id'])
->setCellValue('C'.$num,$v['indent'])
->setCellValue('D'.$num,$v['time'])
->setCellValue('E'.$num,$v['user'])
->setCellValue('F'.$num,$v['movie'])
->setCellValue('G'.$num,$v['hao']);
}
$excel->getActiveSheet()->setTitle('USER'); //设置sheet 的名字
$excel->setActiveSheetIndex(0);
header('Content-Type:applicationnd.ms-excel');
header('Content-Disposition:attachment;filename="'.$name.'.xls"');
header('Cache-Control:max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($excel,'Excel5');
$objWriter->save("php://output");
exit;
}