PHP实现数据动态写入word模板文件里面

步骤:
  1. 安装 PHPWord(通过 Composer):

    复制代码
    1   composer require phpoffice/phpword
    2   
  2. 准备一个 .docx 模板(把你的 .doc 另存为 .docx 格式),并将占位符改为类似 $ {activityName}(PHPWord 默认识别 $ {xxx})。

  3. PHP 代码示例:

    <?php require_once 'vendor/autoload.php';

    use PhpOffice\PhpWord\TemplateProcessor;

    // 假设你的模板文件是 activity_template.docx,占位符格式为 {xxx} template = new TemplateProcessor('activity_template.docx');

    // 替换数据(根据你表单的实际字段调整)
    template->setValue('activityName', '校园歌手大赛'); template->setValue('organizer', '校学生会');
    template->setValue('contactPerson', '张三'); template->setValue('phone', '13800138000');
    template->setValue('date', '2026年3月15日'); template->setValue('location', '大学生活动中心');
    $template->setValue('description', '本次活动旨在丰富校园文化生活...');

    // 保存到文件
    $template->saveAs('活动申请表_已填写.docx');

    // 或直接输出下载(取消注释下面几行即可)
    /*
    header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');
    header('Content-Disposition: attachment; filename="活动申请表_已填写.docx"');
    $template->saveAs('php://output');
    */

相关推荐
李崧正10 分钟前
Java技术分享:Lambda表达式与函数式编程
java·开发语言·python
老了,不知天命12 分钟前
鳶尾花項目JAVA
java·开发语言·机器学习
BIGmustang13 分钟前
python练手之用tkinter写一个计算器
开发语言·python
winner888121 分钟前
从零吃透C++命名空间、std、#include、string、vector
java·开发语言·c++
AI人工智能+电脑小能手30 分钟前
【大白话说Java面试题】【Java基础篇】第26题:Java的抽象类和接口有哪些区别
java·开发语言·面试
bzmK1DTbd39 分钟前
SOLID原则在Java中的实践:单一职责与开闭原则
java·开发语言·开闭原则
AI进化营-智能译站42 分钟前
ROS2 C++开发系列07-高效构建机器人决策逻辑,运算符与控制流实战
开发语言·c++·ai·机器人
winner888143 分钟前
C++ 命名空间、虚函数、抽象类、protected 权限全套通俗易懂精讲(附与 Java 对比)
java·开发语言·c++
不会编程的懒洋洋1 小时前
C# P/Invoke 基础
开发语言·c++·笔记·安全·机器学习·c#·p/invoke
直奔標竿1 小时前
Java开发者AI转型第二十五课!Spring AI 个人知识库实战(四)——RAG来源追溯落地,拒绝AI幻觉
java·开发语言·人工智能·spring boot·后端·spring