Как читать doc, файл docx в .NET с C#.Как читать документы Microsoft Word в .NET?
ответ
Aspose.Words for .NET - это коммерческая библиотека, которая позволяет вам делать именно это. На сайте:
Использование Aspose.Words для .NET, разработчики могут легко открыть и сохранить DOC, OOXML, RTF, WordprocessingML, HTML, MHTML, TXT и OpenDocument документы.
Как правило, COM-интерфейс используется для взаимодействия с офисными документами.
Вот пример MSDN при создании файла excel, он должен дать вам представление.
http://msdn.microsoft.com/en-us/library/ms173186(VS.80).aspx
Кроме того, Visual Studio 2010 вместе с .NET 4.0 будет включать в себя более динамические особенности языка, которые поддаются делать офисную COM Interop, читайте здесь
http://blogs.msdn.com/samng/archive/2009/06/16/com-interop-in-c-4-0.aspx
А вот видео
-1: вы не можете безопасно использовать API автоматизации из ASP.NET или другого серверная программа. –
ах, не заметил тег asp.net, хороший улов. Я полагаю, что я также запутал офисный API с аспектом автоматизации, но теперь он имеет больше смысла. – TJB
Microsoft обеспечивают бесплатный набор взаимодействующих сборок для взаимодействия с различными форматами файлов Office в .NET, места загрузки различаются в зависимости от того, какую версию Office вы используете, но поиск Google для «Microsoft Primary Interop Assemblies» приведет к ссылкам для разных версий из MSDN, таких как this one для Office 2007.
а как открыть документ Word (DOC или DOCX), используя эти interops следующий фрагмент кода показывает, как открыть документ Word:
_Application WordApp = new Microsoft.Office.Interop.Word.Application();
object WordFile = "C:\\SomeDoc.doc";
object RdOnly = false;
object Visible = true;
object Missing = System.Reflection.Missing.Value;
Document Doc = WordApp.Documents.Open(ref WordFile, ref Missing, ref RdOnly, ref Missing, ref Missing,
ref Missing, ref Missing, ref Missing, ref Missing, ref Missing,
ref Missing, ref Visible, ref Missing, ref Missing, ref Missing,
ref Missing);
Оттуда может использовать Doc для доступа к различным частям документа.
О боже! я не ненавижу больше, чем «System.Reflection.Missing.Value» !! –
-1: вы не можете безопасно использовать API автоматизации из ASP.NET или другой серверной программы. –
вы можете просто использовать элемент управления RichTextBox читать .rtf и .doc файлы, используя метод RichTextBox.Load
Я вижу, что вы использовали asp.net тег. Вы не должны использовать API автоматизации (COM Interop) для запуска продуктов Microsoft Office из ASP.NET или любого другого серверного приложения. Продукты Office предназначены для работы с рабочего стола - с пользовательским интерфейсом. Они не работают должным образом в сценарии сервера, и, кроме того, существуют проблемы с лицензированием.
Используйте Aspose.Words for .NET или какую-либо другую такую технологию. Они предназначены для использования в серверной среде.
Итак ... нет библиотеки от Microsoft, предназначенной для серверной среды? – judehall
Что значит «библиотеки»? Большинство из .NET Framework предназначен для использования в среде клиента или сервера. Но API-интерфейсы автоматизации Microsoft Office предназначены для ** автоматизации Microsoft Office **, который представляет собой набор *** настольных *** приложений. –
Да, я понимаю, что лучше сейчас :) – judehall
http://stackoverflow.com/questions/215620/how-to-load-ms-word-document-in-c-net –