从MS word文件处理文本的最简单方法

时间:2009-12-11 10:20:44

标签: c# ms-word

我需要从C#中的旧MS字.doc文件中提取文本。 完成这项工作最简单(或最好)的方法是什么?

2 个答案:

答案 0 :(得分:6)

首先,您需要添加MS Word对象库。转到Project =>添加引用,选择COM选项卡,然后查找并选择“Microsoft Word 10.0对象库”。您的计算机上的版本号可能有所不同。单击“确定”。

完成后,您可以使用以下代码。它将打开一个MS 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);
    }

}

答案 1 :(得分:0)

根据您的需求和预算,您可能需要查看Aspose.Words库。它并不便宜,但可能会减少提取该文本所需的工作量。奖励是你不需要在部署计算机上安装MSOffice(如果你在服务器上运行它,这是强制性的恕我直言)。