2010-01-30 65 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

相關問題