表格模板直接用php导出的话 调试模板错误 所以我想着直接往表格里直接写入数据
然后直接输出新表格 这个要怎么去弄
phpexcel 如何修改一个现有的表格 并且重新输出新表格
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
qq_22607961 2019-04-19 17:28关注可以上传现有的表格作为模板
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');本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1