第一种:第三方NPOI控件:
引用之后,代码如下
string text = "";
XWPFDocument doc = new XWPFDocument(stream);
foreach (var para in doc.Paragraphs)
{
string v = para.ParagraphText; //获得文本
if (!string.IsNullOrEmpty(v))
text += v + Environment.NewLine;
}
第二种:Microsoft.Office.Interop.Word
Microsoft.Office.Interop.Word.Application application = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document document = application.Documents.Open(file);
int count = document.Words.Count;
for (int i = 1; i <= count; i++) { string v = document.Words[i].Text; if (!string.IsNullOrEmpty(v)) text += v; }
第三种:Free Spire.Doc组件
//加载Word文档
Spire.Doc.Document doc = new Spire.Doc.Document();
doc.LoadFromFile(file);
string s = doc.GetText();
richTextBox1.Text = s;
对比下三种的优缺点:
第一种:只支持docx格式,不支持doc格式读取,但是免费方便,效率也很高
第二种:支持doc和docx读取,但是读取效率差,速度慢
第三种:支持doc和docx读取,效率也不错,Spire.Doc是收费组件,如果写入会有水印,free版的目前还不清楚会不会。