Проблема взаимодействия слов с ASP.NET - PullRequest
0 голосов
/ 11 октября 2011

О Microsoft.Office.Interop.Word.

Я установил PIA и Microsoft Office 2010 на свой веб-сервер, но не могу сгенерировать .doc при запуске приложения, опубликованного на моем веб-сервере.,Когда я запускаю свое приложение в localhost, он работает нормально и создает файл .doc.

Мне нужно выполнить некоторые настройки на стороне сервера, чтобы разрешить создание файлов .doc?

Ответы [ 3 ]

3 голосов
/ 11 октября 2011

Помните, что Office 2010 не был разработан для работы внутри веб-сервера (например, безопасность потоков не может быть гарантирована), поэтому в дальнейшем вы можете столкнуться с большими трудностями.

Вместо этого рассмотрите возможность использования Open SDK 2.0 от Microsoft , который позволяет манипулировать (создавать, редактировать) документами Office 2010, которые представляют собой просто упакованные (заархивированные) XML-файлы. Эта технология намного лучше подходит для использования на сервере. Также не требуется иметь отдельную лицензию Office 2010 для каждого веб-сервера, на который вы собираетесь установить Office 2010.

0 голосов
/ 11 октября 2011

Office Interop не поддерживается MS в «серверных сценариях» (для IIS / ASP.NET это особый вид) ... см. http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757#kb2

В число ваших вариантов входит несколько библиотек (бесплатно)и коммерческий) - например:

По поводу исключения вы получаете:

Начиная с Windows Vista, было внесено несколько изменений, чтобы помешать любой службе Windows (IIS - просто особая) делать что-либо «как на рабочем столе» - это связано с проблемами безопасности ... для разрешения такой ситуациивам нужно будет обойти те меры безопасности, которые применяются MS - которые я абсолютно НЕ рекомендую ...

0 голосов
/ 11 октября 2011

Для этого вы должны использовать Open XML SDK.Офисные вмешательства являются устаревшими реликвиями и не должны использоваться.

Ссылка для скачивания:http://www.microsoft.com/download/en/details.aspx?id=5124

Вот простой пример того, как создать документ Word:

public void HelloWorld(string docName) 
{
  // Create a Wordprocessing document. 
  using (WordprocessingDocument package = WordprocessingDocument.Create(docName, WordprocessingDocumentType.Document)) 
  {
    // Add a new main document part. 
    package.AddMainDocumentPart(); 

    // Create the Document DOM. 
    package.MainDocumentPart.Document = 
      new Document( 
        new Body( 
          new Paragraph( 
            new Run( 
              new Text("Hello World!"))))); 

    // Save changes to the main document part. 
    package.MainDocumentPart.Document.Save(); 
  } 
}

Дополнительные сведения см. В этой статье MSDN:http://msdn.microsoft.com/en-us/library/dd440953%28v=office.12%29.aspx

...