2012-03-26 72 views
3

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

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

有没有办法完成我在找的东西?

+0

将它保存到一个临时文件夹*然后*使用'Microsoft.Office.Interop.Word'打开它 - 虽然从Web服务器自动化Word是'uglee'。 出于兴趣 - 也 - 你有什么*尝试*? – 2012-03-26 15:40:35

回答

3

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

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

你可以做你正在尝试使用的OpenXML不上的OpenXML服务器side..More资源安装字要达到什么可以在http://openxmldeveloper.org/找到。而开放的xml sdk可以从here下载。

1

我觉得一般步骤将

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

2)用interop打开文件,但保持不可见。

3)用书签填充字段。

4)显示给用户。