【问题标题】:Edit Saved Microsoft Word Document in C#/Asp.net在 C#/Asp.net 中编辑保存的 Microsoft Word 文档
【发布时间】:2012-03-26 15:37:19
【问题描述】:

我不确定这是否可能,并且在我搜索过的每一个地方,我都找不到明确的答案。我正在将 Microsoft Word 文档保存到 SQL Server 2008 表中。基本上只是将文件转换为Byte[] 并将其写入表中。这个word文档是一个“模板”文件。该文件是用户需要填写的表格。我想知道的是,在从 SQL Server 读取该文件并为用户打开它之前,有没有办法为用户自动填充表单中的某些字段?例如,如果我已经知道用户的地址,我可以在模板中为他们自动填充地址字段吗?

我知道使用Microsoft.Office.Interop.Word,我可以在文档中搜索书签并在书签处插入数据。但是,据我所知,您不能使用Microsoft.Office.Interop.Word 来打开Byte[].

还有什么可以完成我正在寻找的吗?

【问题讨论】:

  • 先将它保存到一个临时文件夹然后使用Microsoft.Office.Interop.Word打开它——尽管从网络服务器自动化Word是'uglee'。出于兴趣 - 也 - 您实际上 尝试过什么

标签: c# asp.net sql-server-2008 ms-word vsto


【解决方案1】:

如果你想使用 OpenXML,那么你可以这样做,

//Load your byte[] array into memory stream and then 
WordprocessingDocument doc = WordprocessingDocument.Open(stream, true);

您可以使用 OpenXML 完成您想要实现的目标,而无需在服务器端安装 word。有关 OpenXMl 的更多资源可以在 http://openxmldeveloper.org/ 上找到。并且可以从here下载open xml sdk。

【讨论】:

    【解决方案2】:

    我认为一般步骤是

    1) 将文件保存到用户的本地硬盘,文件名基于模板,但扩展名为.doc。

    2) 使用互操作打开文件,但保持不可见。

    3)用书签填充字段。

    4) 向用户展示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多