代码之家  ›  专栏  ›  技术社区  ›  uriDium

MS Word类似邮件合并的功能,允许从ASP.Net Web应用程序导出到Word文档

  •  2
  • uriDium  · 技术社区  · 14 年前

    我有一个要求,我需要允许用户上传的某些领域,可以在数据库中找到占位符Word文档。这将是他们的模板。例如,占位符前面可能会加上@或什么。例如

    Dear @@Title @@Lastname
    

    @@Title 数据库中所选记录的标题字段。我不知道从哪里开始,也不知道我需要什么组件来完成这个任务。

    从我最初的调查来看,我似乎可以用Office2007的新开放XML标准来实现这一点,所以也许我应该读入模板并将所有内容保存到某个db表中。然后当用户想要导出时,我再次获取内容,然后对 @@

    这是个好办法吗? 我应该看什么工具?

    2 回复  |  直到 14 年前
        1
  •  3
  •   Andy Robinson    14 年前

    这类似于我们在word文档中插入数据然后返回给用户的方法。我们打开.docx文件(这是一个很容易提取的zip文件)提取了文档(在word文件夹document.xml中),进行了替换,然后将文档放回.docx文件并返回给用户。

    我们遇到的一个问题是word在奇怪的地方插入了标签,特别是拼写/语法错误,所以在搜索/替换时需要小心。

    我们决定不将文档中的字段存储在数据库中,以方便更新文档。

    我们曾经 dotnetzip

    我们还做了一件事,将几个文档合并成一个大文档,以节省下载量。如果我记得我们用过 open xml toolkit

        2
  •  1
  •   bkaid    14 年前

    退房 Scott Guthries blog post 关于代号为“Razor”的新视图引擎即将从微软发布。在评论中有关于它可以在邮件合并场景中使用的讨论,就像您所说的使用ASP.NET MVC视图一样。