0

我的客户要求我使用现有的联系人数据库设置邮件合并结构。他们希望能够将某种 Microsoft Office 文档上传到系统中,然后我需要能够将此文件生成为可打印的循环,以替换与数据库匹配的设置字段。

例如Dear %%FIRST_NAME%%将更改为Dear John数据库中的记录或任何记录。

所以我想知道他们可以从 Microsoft Word 导出什么文件类型以上传到我的系统中,我可以使用 fwrite 来字符串替换这些变量,然后以某种方式设置一个循环以便能够将这些全部打印出来。

谢谢

4

1 回答 1

2

您可以为此使用 PHPWord。http://phpword.codeplex.com/

它允许您打开 doc/docx 文件并对其进行编辑,尽管对于 .doc 文件,您需要一些兼容性包(希望您可以获得只是 XML 文件 zip 的 docx 文件)

如果可以的话,我会推荐你​​使用他们的模板系统,因为这会极大地方便你的生活。

所有你需要的:而不是这样做:

Dear %%FIRST_NAME%%, I still listen to your music, man!

做这样的事情:

Dear ${FirstName}, I still listen to your music, man!

然后在你的 PHP 代码中你可以这样做:

<?php
require_once('PHPWord.php');

$phpWord = new PHPWord();
$doc = $phpWord->loadTemplate("yourdoc.docx");
$document->setValue("FirstName", "John Lennon");
$document->save("yourdoc_modified.docx");

一个额外的我忘了说:你不需要在 Windows 上运行 PHP 服务器来使用它。只要您安装了 zip 和 XML 库,就可以了。

于 2012-10-04T22:01:50.433 回答