3

3 つの列 (a、b、c) を持つ DataTable と、対応する MailMerge フィールドが設定された docx ファイルがあります。私がやりたいことは、データを含むドキュメントに対して差し込み印刷を実行することです。

ハードディスクに書き込むことができると仮定します (マージなどを行うために csv などを作成する必要がある場合) 。Word や Excel などはありません。Open XML SDKインストールされていますが、他のものも同様にインストールできます。

答えとしては、入力データを必要なものに変換することは実際には問題ではありません。問題は、Open XML SDK (またはその他の無料 API) でメール マージを実行する方法です。

補足として、出力は n ページ (n はデータの行数) の 1 つのファイルである必要があります。つまり、n 個のドキュメントではありません (ただし、ドキュメントのマージが最後に行われるかどうかは気にしません)。

(私は追加する必要があります、私はMailMergeの概念に縛られていません.たとえば、単に置換を行うことができればうまくいきます.

4

1 に答える 1

0

私はこれをかなりひどい方法で動作させました-基本的に-現時点では、アルゴリズムは次のとおりです。

  1. docxファイルを解凍します
  2. document.xml を読み込む (文字列に)
  3. 文字列。フィールドを置き換えます
  4. 一時的な docx に再圧縮
  5. 作成されたすべての一時ドキュメントをマージします

ドキュメントをマージするための実際のコードは、Eric White のブログ ( http://blogs.msdn.com/ericwhite/archive/2009/02/05/move-insert-delete-paragraphs-in-word-processing-documents-using ) からのものです。 -the-open-xml-sdk.aspx

于 2009-05-22T10:01:13.770 に答える