2009-12-07 2 views
0

Я хотел бы загрузить документ Word или Excel в окно приложения WPF, чтобы пользователи могли просматривать или редактировать документ в приложении. Есть ли способ достичь этого?Загрузить Word Excel в WPF

+0

Был элемент управления MS под названием «DSOFramer», который был позже прекращен. Вы все равно можете найти его в Интернете где-нибудь, и это может просто сделать для вас работу, но MS прекратила поддерживать его. – A9S6

ответ

1

Вы добавляете элемент управления веб-браузера из панели инструментов, а затем загружаете в него документ Word. Вы даже можете открыть любой документ, поддерживающий браузер, например. Word, Excel, PDF, SWF и т.д. ...

Пример Загрузите Слово

webBrowser1.Navigate("C:\\word.doc"); 

Пример Загрузите Excel

webBrowser1.Navigate("C:\\excel.xls"); 
+0

WebBrowser в порядке, но он имеет две проблемы: 1. Для офиса 2007 поведение по умолчанию заключается в загрузке документа в его собственный экземпляр, это теряет смысл интеграции в приложение WPF. 2. WebControl предложит пользователям открыть или сохранить. Это тоже раздражает. Я фактически нашел, что компонент ActiveX будет размещать приложение Office в WinForm или WPF без вышеупомянутых проблем. Но это платный компонент. http://www.ocxt.com/ – intangible02

0

поставляется с .NET Windows Forms control, который можно легко использовать в приложениях WPF для просмотра и редактирования документов Excel.

Вы можете скачать бесплатную пробную версию here, если вы хотите попробовать сами.

Отказ от ответственности: У меня есть SpreadsheetGear ООО

+0

Я обязательно посмотрю. – intangible02

1

Чтобы упростить вещи, что вы можете сделать, это распечатать документ, XPS, который поставляется с офисом или Windows (не помню какой) в качестве принтера по имени «Microsoft XPS Document Писатель».

После того, как у вас есть документ, это может быть отображено с видом:

<DocumentViewer Name="docContent"/> 

И просто установите документ.

System.Windows.Xps.Packaging.XpsDocument doc 
    = new System.Windows.Xps.Packaging.XpsDocument(
    "myDoc.xps", System.IO.FileAccess.Read); 
docContent.Document = doc.GetFixedDocumentSequence(); 

Для этого вам нужно всего лишь ссылку «ReachFramework».

Что касается поддержки редактирования, вы можете использовать стратегии манипуляции XPS, предоставляемые спецификацией XPS.

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