【问题标题】:How to edit word documents with php?如何用php编辑word文档?
【发布时间】:2016-04-30 17:43:33
【问题描述】:

我的计算机中有一个现有的 Word 文档,我想从我的网站编辑这个文件(使用 PHP)。我能够找到PHPWORD,但这仅涉及新文档。我不想为整个文档编写PHP,而是希望将它用于不同的内容。

有人知道出路吗?

【问题讨论】:

  • PHPWord 不仅仅处理新文档......它同时提供了 Readers 和 Writers,这意味着它可以用来编辑文档

标签: php ms-word phpword


【解决方案1】:

https://github.com/PHPOffice/PHPWord

PHPWord 还具有一个阅读器,可用于编辑现有文档。

【讨论】:

  • 好的,我知道了,但现在我想知道如何在特定位置创建一个部分?我的文档有很多部分,它们也有标题。有什么方法可以搜索特定标题并在其下方创建一个部分?其他方法是用$(value) 替换这些部分,然后编辑文档,但我不知道我将收到多少值,$(values) 可能不足或过剩,这在文档上看起来很糟糕。有什么想法吗?
  • @Adarsh 您在处理文档中的查找/替换方面是否成功?
【解决方案2】:

@nssmart,

是的,用{value1}之类的变量在你的word文档上标记一个部分,然后,如果你下载了PHPWORD,你可以使用代码替换那个部分

$PHPWord = new PHPWord();

$document = $PHPWord->loadTemplate(Doc location);

$document->setValue('value1', 'Description');

这也可以用来填充表格中的数据。

【讨论】:

  • 有人能告诉我如何用奇怪的菜单用最新的词来做到这一点吗?我以为我可以“插入-> 字段”,然后给出字段名称和值。但是我在新菜单中根本找不到它,而且我找到的那个我找不到设置字段名称的方法。
【解决方案3】:

https://github.com/PHPOffice/PHPWord 我也使用以下代码在phpword中解决了这个问题

 if(!file_exists('file/word.docx')){
  $templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor('demo.docx');
  $templateProcessor->setValue('name', 'Akbarali');
  $templateProcessor->setValue('time','13.02.2021');
  $templateProcessor->setValue('month', 'January');
  $templateProcessor->setValue('state','Uzbekistan');
  $templateProcessor->saveAs('file/word.docx');
}

这将改变 demo.docx 文件中的文字。然后将新文件保存在 word.docx 文件夹中。 您可以在演示word文件中以${name}的形式定义变量。 即 ${name}、${time}、${month} 和 ${state}

【讨论】:

    猜你喜欢
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    相关资源
    最近更新 更多