如何在.NET中阅读Microsoft Word文档?

时间:2010-01-30 09:36:05

标签: asp.net ms-word office-automation word-automation

如何使用C#将doc,docx文件读入.NET。

5 个答案:

答案 0 :(得分:3)

我看到你使用了 asp.net 标签。您不应使用自动化API(COM Interop)从ASP.NET或任何其他服务器应用程序运行Microsoft Office产品。 Office产品可以通过桌面运行 - 具有用户界面。它们在服务器方案中无法正常工作,此外还存在许可问题。

使用Aspose.Words for .NET或其他一些此类技术。它们旨在用于服务器环境。

答案 1 :(得分:1)

Aspose.Words for .NET是一个商业图书馆,可以让你做到这一点。来自网站:

  

使用Aspose.Words for .NET,开发人员可以轻松打开和保存DOC,OOXML,RTF,WordprocessingML,HTML,MHTML,TXT和OpenDocument文档。

答案 2 :(得分:1)

通常使用COM互操作来与office文档进行交互。

以下是关于创建excel文件的MSDN示例,它应该给你一个想法。

http://msdn.microsoft.com/en-us/library/ms173186(VS.80).aspx

此外,Visual Studio 2010和.net 4.0将包含更多动态语言功能,这些功能可以在办公室进行互操作,请在此处阅读更多内容

http://blogs.msdn.com/samng/archive/2009/06/16/com-interop-in-c-4-0.aspx

这是一段视频

http://msdn.microsoft.com/en-us/vcsharp/ee460939.aspx

答案 3 :(得分:1)

您只需使用RichTextBox控件即可使用RichTextBox.Load方法读取.rtf和.doc文件

答案 4 :(得分:0)

Microsoft提供了一组免费的互操作程序集,用于与.NET中的各种Office文件格式进行交互,下载位置因您使用的Office版本而异,但Google搜索“Microsoft Office主互操作程序集”将会产生来自MSDN的各种版本的链接,例如Office 2007的this one

至于如何使用这些互操作打开Word文档(doc或docx),以下代码段显示了如何打开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访问文档的各个部分。