3

我有一个包含 3 列(a、b、c)的 DataTable 和一个设置了相应 MailMerge 字段的 docx 文件。我想要做的是对带有数据的文档执行邮件合并。

假设您可以写入硬盘(如果您需要创建一个 csv 等来进行合并等),您没有word、excel 等,安装了 Open XML SDK ,但同样我们可以安装其他任何东西。

就答案而言,将输入数据转换为所需的数据并不是真正的问题,问题是如何在 Open XML SDK(或其他免费 API)中执行邮件合并。

作为旁注,输出应该是一个有 n 页的文件(其中 n 是数据中的行数),即不是 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 回答