Phpword生成word文档并添加下载链接

迅睿框架 更新 2025-03-07 13:29:36 远山红叶

按照《Phpword生成word文档》   https://www.xunruicms.com/doc/1103.html  操作成功并实现下载的过程记录,代码如下:

<?php namespace Phpcmf\Controllers;

class Doc extends \Phpcmf\Common{

   // doc模板文件导出
   public function index() {
 // 使用系统目录(https://www.xunruicms.com/doc/373.html)把模板文件放在/template/下面
        $tpl = TPLPATH.'test.docx'; 
        $PHPWord = new \PhpOffice\PhpWord\PhpWord();
        $templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor($tpl);
 // 设置变量,使用时替换比较方便
        $name = '张三';
 $zhiwei = '公务员';
 $bianhao = '360281199909090009';
 $uptime = date("Y-m-d H:i:s");
        // 开始对模板赋值
        $templateProcessor->setValue('name', $name);
        $templateProcessor->setValue('zhiwei', $zhiwei);
        $templateProcessor->setValue('bianhao', $bianhao);
 $templateProcessor->setValue('uptime', $uptime);
 $date = date("Y-m-d");  
 // 取模运算获取时间戳后四位,防止文件名重复
 $timeDigits = time() % 10000;
 // 下面的test以后可以改成变量
 $filename = 'test-'.$date.'-'.$timeDigits;
        // 保存新的文件到uploadfile\phptodocx\下面,注意phptodocx\后面不加\就不行了。
        $templateProcessor->saveAs(WEBPATH.'uploadfile\phptodocx\\'.$filename.'.docx');
 // 生成下载链接
 echo "<a href='/uploadfile/phptodocx/".$filename.".docx' target='_blank'>".$filename."</a>";
 exit;
   }
}



方案

  • soevil #1 · 2025-03-07 13:29:36
    要是想导出表单内的数据要怎么写?

迅睿系统漏洞

GeoSeo收录宝
GeoSeo收录宝(2026-09-01)
升级 ai智能发布功能 升级 支持8国语言后端设置和前端输出功能 ...
Word发布批量上传
Word发布批量上传(2026-08-31)
版本覆盖问题重发
多语言翻译Seolang
多语言翻译Seolang(2026-08-31)
新增 LLM 大模型对话翻译模块 配置层强类型化重构 URL 模...
自定义存储
自定义存储(2026-08-30)
同步服务器端通用版实现,统一管理端、CMS 端和浏览器直传的提示与错...
GeoSeo工具箱
GeoSeo工具箱(2026-08-29)
新增 bing推送 新增 IndexNow推送 新增 baidu...
外贸多语言建站
外贸多语言建站(2026-08-27)
新增阿里云专业版入口 新增阿里云自动识别字符格式
Querylist渐进式采集
Querylist渐进式采集(2026-08-26)
增加范围截取规则
实时任务
实时任务(2026-08-26)
补充并整理完整使用说明、历史版本更新日志,统一帮助页样式。