2009-12-11 69 views
2

我需要從C#中的舊MS文件.doc文件中提取文本。 完成這項工作最簡單(或最好)的方法是什麼?從MS word文件處理文本的最簡單方法

+0

這是在桌面(WinForms或WPF)或Web應用程序(ASP.NET)中嗎?它有很大的不同。 –

回答

5

首先,您需要添加MS Word對象庫。轉到Project =>添加引用,選擇COM選項卡,然後找到並選擇「Microsoft Word 10.0 Object Library」。計算機上的版本號可能不同。點擊確定。

完成之後,您可以使用下面的代碼。它會打開一個微軟Word文檔,並顯示在消息框中的每個段落 -

// Read an MS Word Doc 
private void ReadWordDoc() 
{ 
    try 
    { 
     Word.ApplicationClass wordApp = new Word.ApplicationClass(); 

     // Define file path 
     string fn = @"c:\test.doc"; 

     // Create objects for passing 
     object oFile = fn; 
     object oNull = System.Reflection.Missing.Value; 
     object oReadOnly = true; 

     // Open Document 
     Word.Document Doc = wordApp.Documents.Open(ref oFile, ref oNull, 
       ref oReadOnly, ref oNull, ref oNull, ref oNull, ref oNull, 
       ref oNull, ref oNull, ref oNull, ref oNull, ref oNull, 
       ref oNull, ref oNull, ref oNull); 

     // Read each paragraph and show   
     foreach (Word.Paragraph oPara in Doc.Paragraphs)     
      MessageBox.Show(oPara.Range.Text); 

     // Quit Word 
     wordApp.Quit(ref oNull, ref oNull, ref oNull); 

    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.Message); 
    } 

} 
0

根據您的需求和預算,你可能想看看Aspose.Words庫。這並不便宜,但可能會削減提取該文本所需的努力。獎金是,你不需要在你的部署計算機上安裝MSOffice(如果你在服務器上運行它,這是強制性的恕我直言)。

相關問題