$objPHPExcel = new \PHPExcel();
//边框
$styleArray = array(
'borders' => array(
'allborders' => array(
'style' => \PHPExcel_Style_Border::BORDER_THIN,//细边框
'color' => array('argb' => '00c8cfd9'),
),
),
);
$objPHPExcel->getProperties()->setCreator("ctos")
->setLastModifiedBy("ctos")
->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->getActiveSheet()->getColumnDimension('A')->setWidth(35);
$objPHPExcel->getActiveSheet()->mergeCells('A1:P1');
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', "应收款账龄分析表");
$date = date("Y-m-d H:i:s");
$objPHPExcel->getActiveSheet()->mergeCells('O2:P2');
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('O2', "打印时间:{$date}");
$objPHPExcel->getActiveSheet()->getStyle( "A3:P3")->applyFromArray($styleArray);
//背景色
$objPHPExcel->getActiveSheet()->getStyle("A3:P3")->getFill()
->setFillType(\PHPExcel_Style_Fill::FILL_SOLID)
->getStartColor()
->setRGB('dee0e3');
$objPHPExcel->getActiveSheet()->getStyle('A3:A3')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//设置列名
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A3', '项目名称')
;
//所有单元格居中
$objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getDefaultStyle()->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
//设置行高
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(20);
//无限换列开始
$data_a = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
$data_as = $data_a;
foreach ($data_a as $key => $it){
foreach ($data_a as $key1=>$it1){
$data_as[] = "{$it}{$it1}";
}
}
$data_a = $data_as;
//给数据
foreach ($order_data as $key=>$it){
$key_a = $key+1;
$objPHPExcel->getActiveSheet()->getStyle( "{$data_a[$key_a]}3:{$data_a[$key_a]}3")->applyFromArray($styleArray);
$objPHPExcel->getActiveSheet()->getStyle("{$data_a[$key_a]}3:{$data_a[$key_a]}3")->getFill()
->setFillType(\PHPExcel_Style_Fill::FILL_SOLID)
->getStartColor()
->setRGB('dee0e3');
$objPHPExcel->getActiveSheet()->getStyle("{$data_a[$key_a]}3:{$data_a[$key_a]}3")->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getColumnDimension("{$data_a[$key_a]}")->setWidth(18);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue("{$data_a[$key_a]}3", "{$it[0]}");
$objPHPExcel->setActiveSheetIndex(0)->setCellValue("{$data_a[$key_a]}4", "{$it[1]}");
}
//无限换列结束
//导出文件名
$filename = date('YmdHis',time()).'.xlsx';
ob_end_clean();
header('Content-Type: applicationnd.ms-excel');
header('Content-Disposition: attachment;filename='.$filename);
header('Cache-Control: max-age=0');
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); //excel5为xls格式,excel2007为xlsx格式
//获得tp6路径
$date = date("Ymd");
$Absolute_Path=$_SERVER['SCRIPT_FILENAME'];
$user_path = substr($Absolute_Path,0,-9)."/storage/cdj/{$date}/";//保存路径
$user_paths = substr($Absolute_Path,0,-9)."/storage/cdj/{$date}";
if(!is_dir($user_paths)){
mkdir($user_paths,0777,true);
}
$objWriter->save($user_path.$filename);//保存excle文件
return['date'=>$date,'filename'=>$filename];