《C#读取Word文档的详细例子(共4页).doc》由会员分享,可在线阅读,更多相关《C#读取Word文档的详细例子(共4页).doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上C#读取Word文档的详细例子,仅供参考,不负任何法律责任。1:对项目添加引用,Microsoft Word 11.0 Object Library2:在程序中添加 using Word = Microsoft.Office.Interop.Word;3:程序中添加Word.Application app = new Microsoft.Office.Interop.Word.Application(); /可以打开word程序Word.Document doc = null; /一会要记录word打开的文档word文档和word程序可不是一回事奥!4:一般来说,对于
2、抽取word内容,用的方法很少public override void openFile(object fileName) /打开文档public override object readPar(int i) /读取word文档的第i段public override int getParCount() /返回word文档一共几段public override void closeFile() /关闭文档public override void quit() /关闭word程序/从网页上拷贝的目录有时候会出现手动换行符l,,先将其换成回车段落标记,才能正确读取public void replac
3、eChar()5:代码public override void openFile(object fileName)tryif (app.Documents.Count 0)if (MessageBox.Show(已经打开了一个word文档,你想关闭重新打开该文档吗?, 提示, MessageBoxButtons.YesNo) = DialogResult.Yes)object unknow = Type.Missing;doc = app.ActiveDocument;if (MessageBox.Show(你想保存吗?, 保存, MessageBoxButtons.YesNo) =Dialo
4、gResult.Yes)app.ActiveDocument.Save();app.ActiveDocument.Close(ref unknow, ref unknow, ref unknow);app.Visible = false;elsereturn;catch (Exception)/MessageBox.Show(您可能关闭了文档);app = new Microsoft.Office.Interop.Word.Application();tryobject unknow = Type.Missing;app.Visible = true;doc = app.Documents.O
5、pen(ref fileName,ref unknow, ref unknow, ref unknow, ref unknow, refunknow,ref unknow, ref unknow, ref unknow, ref unknow, refunknow,ref unknow, ref unknow, ref unknow, ref unknow, refunknow);catch (Exception ex)MessageBox.Show(出现错误: + ex.ToString();public override object readPar(int i)trystring tem
6、p = doc.Paragraphsi.Range.Text.Trim();return temp;catch (Exception e) MessageBox.Show(Error:+e.ToString();return null;public override int getParCount()return doc.Paragraphs.Count;public override void closeFile()tryobject unknow = Type.Missing;object saveChanges = Word.WdSaveOptions.wdPromptToSaveCha
7、nges;app.ActiveDocument.Close(ref saveChanges, ref unknow, ref unknow);catch (Exception ex)MessageBox.Show(Error: + ex.ToString();public override void quit()tryobject unknow = Type.Missing;object saveChanges = Word.WdSaveOptions.wdSaveChanges;app.Quit(ref saveChanges, ref unknow, ref unknow);catch (
8、Exception)public void replaceChar() tryobject replaceAll = Word.WdReplace.wdReplaceAll;object missing = Type.Missing;app.Selection.Find.ClearFormatting();app.Selection.Find.Text = l;app.Selection.Find.Replacement.ClearFormatting();app.Selection.Find.Replacement.Text = p;app.Selection.Find.Execute(re
9、f missing, ref missing, ref missing, ref missing, ref missing,ref missing, ref missing, ref missing, ref missing, ref missing,ref replaceAll, ref missing, ref missing, ref missing, ref missing);catch (Exception e)MessageBox.Show(文档出现错误,请重新操作);6:刚才是用读取一段做的例子,如果要读取一句或一篇只需要把doc.Paragraphsi(readPar中)改成doc.Sentencesi或doc.content即可,因为都是微软的东东,所以用起来没有一点的障碍,再加上现在的vs2005做的很智能,所以先从java转到了c#上7:实际上,c#中读取word是不用那么麻烦的,但是如果考虑到可能还要抽取txt,ppt等多种格式,所以就写了一个抽象类,调用起来也方便,这就是为什么我的程序方法开头会有override的原因,总要考虑到通用,所以多了一些代码。专心-专注-专业