从doc / docx文件中提取单词c#

时间:2017-06-22 12:29:26

标签: c# list ms-word office-interop

我想从Word文件(doc / docx)中提取所有单词并将它们放入列表中。似乎microsoft.Office.Interop只是在我想提取段落并将它们添加到列表中时起作用。

B

我还找到了逐字提取的方法,但由于产生异常的循环,它不适用于大文档。

List<string> data = new List<string>();

Microsoft.Office.Interop.Word.Application app = new 
  Microsoft.Office.Interop.Word.Application();

Document doc = app.Documents.Open(dlg.FileName);

foreach (Paragraph objParagraph in doc.Paragraphs)
  data.Add(objParagraph.Range.Text.Trim());

((_Document)doc).Close();
((_Application)app).Quit();`

所以我的问题是,如果有办法从大字文件中提取单词。我认为Microsoft.Office.Interop不是从大文件中提取的好工具。 对不起,我的英语不好。

1 个答案:

答案 0 :(得分:1)

段落中的对象称为Run,但我不知道这是否在Interop中可用。为了提高您的体验,我建议您切换到使用OpenXmlSdk,以防您需要处理大量文档。

如果你想坚持使用Interop,为什么不将每个段落分成一个数组(明确的分隔符空格)并在之后添加所有单词?