我不确定这是否可能,而且我搜索的每一个地方都找不到明确的答案。我将Microsoft Word文档保存到SQL Server 2008表。基本上只是将文件转换为Byte[]
并将其写入表中。该word文档是“模板”文件。该文件是用户需要填写的表单。我想知道的是,在从SQL Server读取该文件之后,在为用户打开之前,是否有办法为用户自动填充表单中的某些字段?例如,如果我已经知道用户的地址,我可以自动填充模板中的地址字段吗?
我知道使用Microsoft.Office.Interop.Word
,我可以在文档中搜索书签并在书签中插入数据。但是,据我所知,您无法使用Microsoft.Office.Interop.Word
打开Byte[].
无论如何要完成我想要的东西吗?
答案 0 :(得分:3)
如果您想使用OpenXML,那么您可以这样做,
//Load your byte[] array into memory stream and then
WordprocessingDocument doc = WordprocessingDocument.Open(stream, true);
您可以使用OpenXML实现您想要实现的目标,而无需在服务器端安装单词。可以在http://openxmldeveloper.org/上找到OpenXMl上的更多资源。并且可以从here下载开放的xml sdk。
答案 1 :(得分:1)
我认为一般步骤是
1)将文件保存到用户的本地硬盘驱动器,文件名基于模板,但扩展名为.doc。
2)使用interop打开文件,但保持不可见。
3)使用书签填充字段。
4)向用户显示。