2010-01-30 63 views

回答

1

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

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

1

通常COM互操作用于与办公文档连接。

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

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

此外,Visual Studio 2010中使用.NET 4.0一起将包括更多的动态语言特征,其借给自己做办公室COM互操作,在这里阅读更多

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

+0

-1:您无法安全地使用自动化API从ASP.NET或其他基于服务器的程序。 – 2011-10-23 20:20:44

+0

啊,没注意到asp.net标签,很好抓。我想我已经将办公室API与自动化方面混淆了,但现在它更有意义。 – TJB 2011-10-24 20:43:08

0

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

至于如何打开一个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访问文档的各个部分。

+0

天啊!没有什么比我更讨厌“System.Reflection.Missing.Value”! – 2010-01-30 10:51:02

+1

-1:您无法安全地使用ASP.NET或其他基于服务器的程序中的自动化API。 – 2011-10-23 20:20:57

1

,你可以简单地使用RichTextBox控件使用RichTextBox.Load方法

3

阅读的.rtf和.doc文件,我看你使用的asp.net标签。您不应该使用自动化API(COM Interop)从ASP.NET或任何其他服务器应用程序运行Microsoft Office产品。 Office产品通过用户界面从桌面运行。它们在服务器方案中无法正常工作,此外还存在许可问题。使用或其他这样的技术代替。它们旨在用于服务器环境。

+0

那么......微软没有专为服务器环境设计的图书馆? – judehall 2012-04-07 20:11:48

+1

你是什么意思“图书馆”?大部分的 。NET Framework旨在用于客户端或服务器环境。但是Microsoft Office Automation API是为**自动化Microsoft Office **而设计的,这是一组***桌面***应用程序。 – 2012-04-08 00:21:28

+0

好的我现在明白了:) – judehall 2012-04-14 12:44:25

相关问题