1

目前我正在开发一个 MVC 应用程序。我得到了一个 word 模板,我需要用它来创建邮件合并。合并的数据在数据库中,我可以即时创建邮件合并文档吗?有没有人这样做过?你用过什么工具?任何有用的提示?

基本上创建邮件合并的过程是,用户点击一个按钮,然后获取模板并用数据填充它(将返回几百条记录),当邮件合并完成时,我想返回包含其中所有字母的单个 word 文档。

谢谢

4

3 回答 3

4

我遇到了这个问题,不幸的是有 3 个解决方案,在某种程度上都很糟糕:

OOXML API

使用 Office Open XML API:http ://www.microsoft.com/en-us/download/details.aspx?id=5124 - 并手动遍历 Document XML 树以检查邮件合并元素,执行文本替换自己,然后保存。

优点:

  • 自由的

缺点

  • 在放弃这种方法之前,我花了 6 个月的时间来强调
  • 没有用于邮件合并的内置 API
  • 简单的合并字段替换很简单,但是复杂字段分布在几个<w:run>元素上,替换起来很麻烦。奖励:自 Word 2010 以来,所有新字段都是复杂类型。
  • 仅支持 OOXML 文件 ( .docx)。不支持 Word 97-2003 文件 ( .doc)。

Aspose Saas(以前的 Saaspose)API

优点:

  • 便宜(每月 15 美元起)
  • 适用于所有 Word 文件格式
  • 简单,完成任务

缺点

  • 如果您想做的不仅仅是简单的字段替换(即重复区域,“如果...然后...”显示/隐藏逻辑,使用复杂的数据结构作为数据源),那么您就是 SOL。
  • 这是一个网络服务,所以你总是需要从你的服务器到他们的连接
  • 他们的“.NET SDK”设计得很糟糕(例如,充满了应该是静态的实例方法)。我写了自己的替代品,我可能应该在某个时候上传它。
  • 他们的文档也不是最好的,尽管最近可能有所改进,但祝你好运。

假设的话

优点

  • 它只是工作
  • 非常强大,可以执行任何类型的合并和字段操作,包括使用您自己的复杂数据源
  • 开发人员提供的出色支持服务

缺点

  • 昂贵的。单用户/单站点许可证起价 999 美元。如果您正在开发 SaaS 应用程序,那么您需要 3000 美元的许可证。
于 2013-09-13T03:14:10.467 回答
1

首先最重要的是:不要使用互操作,因为它在服务器环境中不能很好地工作(参见 Microsoft 的 KB 257757)。

我对Docentric Toolkit有很好的经验。我已经使用它三年了。所以这里是它的优点和缺点:

优点:

  • 用于模板生成的简单 Word 插件
  • 基于 OpenXML,服务器端友好
  • 支持图像、数据绑定图、表格
  • 模板中的条件元素
  • 支持页眉和页脚中的占位符
  • 非常快速的报告生成

缺点:

  • 不是免费的
  • 对 PDF 输出的支持稍差
于 2014-12-15T21:12:56.550 回答
0

你试过 NTemplates 吗?不完全适用于 Word 文档,但如果您不介意使用 RTF,它可能是解决方案。从 ntemplates.codeplex.com 免费下载完整的源代码和示例

于 2013-12-03T14:11:17.553 回答