<?php
/**
* 导出excel方法
* @param array $datas 数组
* @return excel excel表格
*/
function exportExcel($datas=array()){
// $data['excelInfo']=array(
// 'title' => "管理员账号",
// 'subject' => "管理员",
// 'description' => "管理员账号",
// 'keywords' => "管理员账号",
// 'category' => "管理员",
// 'sheet' => "sheet",
// 'creator' => "管理员",
// 'LastModified' => "管理员"
// );
// $data['table']=array(
// 'table_name' => "manager",
// 'list' => array(
// //"数据库字段名" => "excel显示名"
// "mg_name" => "用户名",
// "mg_mobile" => "联系方式",
// "mg_email" => "电子邮件"
// )
// );
// $data['excel_name']="管理员账号";
# code...
//导入类库
Vendor("PHPExcel.Classes.PHPExcel");
$objPHPExcel = new \PHPExcel();
if(!empty($datas)){
$excelInfo=$datas['excelInfo'];
$table=$datas['table'];
$excel_name=$datas['excel_name'];
$objPHPExcel->getProperties()
->setCreator($excelInfo['creator'])
->setLastModifiedBy($excelInfo['LastModified'])
->setTitle($excelInfo['title'])
->setSubject($excelInfo['subject'])
->setDescription($excelInfo['description'])
->setKeywords($excelInfo['keywords'])
->setCategory($excelInfo['category']);
$list=M($table['table_name']);
$data_list=$list->select();
$i=2;
$c ='a';
//最多 26个 title
foreach ($table['list'] as $key=>$value) {
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($c.'1', $value);
$c++;
}
$objPHPExcel->setActiveSheetIndex(0);
foreach($data_list as $key=>$value){
$d='a';
foreach($table['list'] as $k => $v){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($d.$i, $value[$k]);
$d++;
}
$i++;
}
$objPHPExcel->getActiveSheet()->setTitle($excelInfo['sheet']);//设置sheet标签的名称
$objPHPExcel->setActiveSheetIndex(0);
ob_end_clean(); //清空缓存
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate,post-check=0,pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header('Content-Disposition:attachment;filename='.$excel_name.'.xls');//设置文件的名称
header("Content-Transfer-Encoding:binary");
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
}
}
?>
thinkphp excel 数据导出excel(自用备份)
最新推荐文章于 2021-08-28 19:06:15 发布