表格模板直接用php导出的话 调试模板错误 所以我想着直接往表格里直接写入数据
然后直接输出新表格 这个要怎么去弄
可以上传现有的表格作为模板
include 'data/extend/phpexcel_classes/PHPExcel.php';
$xlsTitle = iconv('utf-8', 'gb2312', $expTitle); // 文件名称
$fileName = $expTitle . date('_YmdHis'); // or $xlsTitle 导出新文件的名称,可根据自己情况设定,
$cellNum = count($expCellName);//$expCellName这个是列对应的名称,主要形式以array(array('字段名称1'),array('字段名称2'))
$dataNum = count($data);//这个是获取的数据的记录数
$objPHPExcel = \PHPExcel_IOFactory::load("public/tmpl/customer_tmpl.xlsx" ); //加载模板的文件,参数为模板文件的路径
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$cellName = array(
'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','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ'
);
/*这边是循环插入数据,具体可根据实际情况,我的模板是从第7行开始写入内容的*/
for ($i = 0; $i < $dataNum; $i ++) {
for ($j = 0; $j < $cellNum; $j ++) {
$objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j] . ($i + 7), " " . $data[$i][$expCellName[$j][0]]);
}
}
//这部分主要是导出之后下载部分的操作
header('pragma:public');
header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . $xlsTitle . '.xlsx"');
header("Content-Disposition:attachment;filename=$fileName.xlsx");
$objWriter->save('php://output');