首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET将数据导出到Word模板

问ASP.NET将数据导出到Word模板
EN

Stack Overflow用户
提问于 2011-01-21 05:52:58
回答 1查看 2.8K关注 0票数 1

我在Word 2007模板中有几封套用信函。我需要从我的web表单应用程序(Sql Server 2008后端)传递数据。

我需要尽可能无缝地完成此操作,因此不能为word生成文本文件以用作数据源。出于性能原因,我还希望避免在web服务器上运行Office。

我想知道是否有一种方法可以将模板xml存储在我的数据库中,并在需要生成信件时使用我的数据填充适当的元素,并将此文件直接下载到用户的机器上。

有没有人有解决这类问题的办法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-21 06:00:48

如果使用要替换的令牌创建Word 2007 .docx文件,则可以轻松地替换服务器上的令牌,并向客户端发送基于旧文件和替换令牌的新.docx文件。

  1. 将您的模板创建为.docx文件,并将其保存在服务器上
  2. 使用易于查找和解析的占位符更改所有邮件合并域,这些占位符不会正常出现在文档中,也不需要XML编码。例如:{{FirstName}}.
  3. Create一个新的空白.docx (压缩)文件为每个你想要生成的文档
  4. 读取每个文件从模板.docx文件
  5. 当你读取源文件时,搜索并替换你的令牌为appropriate
  6. Be确保.docx编码你放在新文档中的所有文本。您可以使用HttpUtility.HtmlEncode、XmlTextWriter实例或自定义方法将有问题的字符(<、‘、“、>)替换为相应的xml实体。
  7. 将文件发送到client

更复杂的事情可以通过操作WordML标签来完成,但如果你只是想替换一些变量数据,上面的方法将是最简单的/快速的方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4753057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档