2011-09-08 2 views
1

У меня есть сложная проблема.Autofiil MS Word документ от ASP.NET

Я разработал программу, которая берет некоторую информацию из базы данных и вставляет ее в текстовый документ. После этого он сохраняет документ документа на сервере, и пользователь программы может загрузить документ с автозаполнением.

Я использую класс Microsoft.Office.Interop.Word для решения этой задачи, но более чем невозможно получить эту работу на сервере x64 или рабочей станции x64.

Есть ли другой способ выполнить эту задачу? Мне нужен файл, который можно открыть в Word. Меня не волнует, если он был создан с помощью OpenOffice или что-то в этом роде.

Кто-нибудь знает решение этой проблемы, не используя класс Interop.Word?

UPDATE (решение):

Вот что я в конечном итоге делает:

Я спас WordFile Я хотел использовать в качестве шаблона в виде файла XML.

Затем я использую эту маленькую функцию:

public void TestEditContract(string path) 
    { 
     XmlDocument document = new XmlDocument(); 
     TextReader reader = File.OpenText(path + "\\wordfile.xml"); 
     string allxml = reader.ReadToEnd(); 
     reader.Close(); 

     allxml = allxml.Replace("placeholder1", "Some content"); 
     document.LoadXml(allxml); 
     document.Save(path + "\\wordfile.doc"); 
    } 

В конце концов, я просто сохранить его в виде файла .doc и он работает как шарм :)

Это немного hack'ish но он работает очень хорошо и не зависит от сервера. Спасибо cgcarter1 за то, что указали мне в правильном направлении.

+0

Я слышал что-то о Word XML, но не знаю, с чего начать, и если он сможет решить мою проблему. – MathiasH

+0

См. Http://stackoverflow.com/questions/282531/export-to-word-document-in-c#283932 Word откроет HTML с расширением .doc и внутренней таблицей стилей. – Fionnuala

ответ

3

У вас есть кадиллак, когда вам нужен спортивный инвентарь. Зачем сохранять документ на сервере, когда вы можете просто передать его им через буферный поток? Вот очень хороший способ доставки экспортированного Word Doc через буфер без каких-либо иждивенцев: http://geekswithblogs.net/vivek/archive/2006/09/26/92316.aspx

Без иждивенцев нет необходимости беспокоиться о архитектуре сервера. Кроме того, вы не предоставляете доступ к своей файловой структуре пользователю asp.net, когда вы обслуживаете файл через буфер, чтобы он был немного более безопасным.

+0

Да, я пошел с очень простым решением. Я сохранил шаблоны в виде xml и загрузил документ читателем. Отредактировано и сохранено как .doc :) – MathiasH

Смежные вопросы