Yii生成excel表
public function actionDownload(){
$objPHPExcel = new \PHPExcel();
$objPHPExcel->getProperties()->setCreator("ira")
->setLastModifiedBy("ira")
->setTitle("Office 2007 XLSX Test Document")
->setSubject("Office 2007 XLSX Test Document")
->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
->setKeywords("office 2007 openxml php")
->setCategory("Test result file");
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', "第一列")
->setCellValue('B1', "第二列")
->setCellValue('C1', "第三列")
->setCellValue('D1', "第四列")
->setCellValue('A2', "测试数据");
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(35);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(70);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(80);
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(25);
$objPHPExcel->getActiveSheet()->getStyle('F2')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('F2')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
$phpColor_f40a0a = new \PHPExcel_Style_Color();
$phpColor_f40a0a->setRGB('f40a0a');
$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setRGB('00b050');
$objPHPExcel->getActiveSheet()->getStyle('F2')->getFont()->setColor($phpColor_f40a0a);
$objPHPExcel->getActiveSheet()->getStyle('B13')->getFont()->setColor($phpColor_f40a0a);
$objPHPExcel->getActiveSheet()->getStyle('F2:F11')->getAlignment()->setWrapText(TRUE);
$Mail = array();
for($i=0; $i<= count($Mail); $i++){
$type = $Mail[$i]['type'];
$info = $Mail[$i]['info'];
$custom = $Mail[$i]['custom'];
if($type){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$i, $type);
}
if($info){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C'.$i, $info);
}
if($mail){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('D'.$i, $custom);
}
}
$objPHPExcel->setActiveSheetIndex(0);
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$filename="excel表的名称";
$outputFileName = $filename.".xlsx";
$outputFileName = iconv('UTF-8','GB18030',$outputFileName);
$dir = date('Y-m');
$RATE_FILES = \yii::$app->basePath.'/excel';
if (!is_dir($RATE_FILES.'/'.$dir.'/')) {
mkdir($RATE_FILES.'/'.$dir.'/', 0777,true);
}
$objWriter->save($RATE_FILES.'/'.$dir.'/'.$outputFileName);
header( "Pragma: public" );
header('Content-Disposition: attachment;filename="'.$filename.'.xlsx" ' );
$objWriter->save('php://output');
exit;
}