public function text(){
$sql = "select * from text";
$data = M()->query($sql);
//excel列名@数据表字段名,excel列顺序即为数组顺序,若添加列,向数组中追加即可
$arr = [
'编号@id',
'姓名@name',
'分数@score',
];
$filename = './Public/tpl/exp.xlsx'; //服务器下导出excel的模板文件(空文件即可)
vendor("PHPExcel.PHPExcel"); //引入类库
$objPhpExcel = \PHPExcel_IOFactory::load($filename);
foreach($data as $k=>$v){ //外层循环数据
foreach($arr as $key=>$item){ //内层循环规则数组
$Letter = 65 + $key; //列下标
$objSheet = $objPhpExcel->getActiveSheet();
if($k == 0){ //表头
$objSheet->setCellValue(chr($Letter).($k+1), substr($arr[$key],0,strrpos($arr[$key],'@')));
}else{ // 内容
$field = substr($arr[$key],strrpos($arr[$key],'@') + 1);
$objSheet->setCellValue(chr($Letter).($k+1), $v[$field] );
}
}
}
$write = new \PHPExcel_Writer_Excel2007($objPhpExcel);
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="text'.rand(0,10).'.xlsx"');
header("Content-Transfer-Encoding:binary");
$write->save('php://output');
}
tp3.2 excel导出动态追加列并修改顺序
猜你喜欢
转载自blog.csdn.net/pwjiferox/article/details/79300656
今日推荐
周排行