Изменить сохраненный документ Microsoft Word в C # / Asp.net - PullRequest
3 голосов
/ 26 марта 2012

Я не уверен, возможно ли это, и везде, где я искал, я не могу найти четкого ответа.Я сохраняю документ Microsoft Word в таблицу SQL Server 2008.По сути, просто конвертируем файл в Byte[] и записываем его в таблицу.Этот документ word является файлом шаблона.Файл представляет собой форму, которую пользователь должен заполнить.Что мне интересно, так это то, что после чтения этого файла с SQL Server и перед его открытием для пользователя существует ли способ автоматического заполнения некоторых полей в форме для пользователя?Например, если я уже знаю адрес пользователя, могу ли я автоматически заполнить поле адреса в шаблоне для него?

Я знаю, что с помощью Microsoft.Office.Interop.Word я могу искать в документе закладки и вставлять данные взакладка.Тем не менее, насколько я знаю, вы не можете использовать Microsoft.Office.Interop.Word, чтобы открыть Byte[].

Есть ли способ завершить то, что я искал?

Ответы [ 2 ]

3 голосов
/ 26 марта 2012

Если вы хотите использовать OpenXML, то вы можете сделать это так,

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

Вы можете сделать то, что вы пытаетесь достичь, используя OpenXML, не устанавливая слова на стороне сервера .. Больше ресурсов по OpenXMl можно найти на http://openxmldeveloper.org/. А open xml sdk можно загрузить с здесь .

1 голос
/ 26 марта 2012

Я думаю, что общие шаги будут

1) Сохраните файл на локальном жестком диске пользователя с именем файла на основе шаблона, но с расширением .doc.

2) Откройте файл с помощью взаимодействия, но оставьте его невидимым.

3) Заполните поля закладками.

4) Покажите его пользователю.

...