【发布时间】:2016-04-30 17:43:33
【问题描述】:
我的计算机中有一个现有的 Word 文档,我想从我的网站编辑这个文件(使用 PHP)。我能够找到PHPWORD,但这仅涉及新文档。我不想为整个文档编写PHP,而是希望将它用于不同的内容。
有人知道出路吗?
【问题讨论】:
-
PHPWord 不仅仅处理新文档......它同时提供了 Readers 和 Writers,这意味着它可以用来编辑文档
我的计算机中有一个现有的 Word 文档,我想从我的网站编辑这个文件(使用 PHP)。我能够找到PHPWORD,但这仅涉及新文档。我不想为整个文档编写PHP,而是希望将它用于不同的内容。
有人知道出路吗?
【问题讨论】:
https://github.com/PHPOffice/PHPWord
PHPWord 还具有一个阅读器,可用于编辑现有文档。
【讨论】:
$(value) 替换这些部分,然后编辑文档,但我不知道我将收到多少值,$(values) 可能不足或过剩,这在文档上看起来很糟糕。有什么想法吗?
@nssmart,
是的,用{value1}之类的变量在你的word文档上标记一个部分,然后,如果你下载了PHPWORD,你可以使用代码替换那个部分
$PHPWord = new PHPWord();
$document = $PHPWord->loadTemplate(Doc location);
$document->setValue('value1', 'Description');
这也可以用来填充表格中的数据。
【讨论】:
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}
【讨论】: