我需要从C#中的旧MS字.doc文件中提取文本。 完成这项工作最简单(或最好)的方法是什么?
答案 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(如果你在服务器上运行它,这是强制性的恕我直言)。