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 に答える