在以前做過的一個C#項目中,當時有個需求就是按頁提取word文檔的內容,後來這個需求用不到了,但是從中間摸索出來了一些方法。現在作出的這個程序,對於.doc、.docx、格式word文件,基本都上能夠讀取,也碰到過特殊文件不能讀取的情況,幾率很小。
要想操作word文檔,在C#中需要引入 Microsoft.Office.Interop.Word.dll, 這個在vs2010中添加引用時直接就就可以找得到,本程序中使用的版本是14.0.0.0.。
直接使用會報錯誤 :
將dll文件的屬性 “互操作類型”改為false即可解決錯誤。
程序代碼如下:
getWordContentByPage( filepath, FileInfo f = (! file_name = file_path = pageCount = Microsoft.Office.Interop.Word.Document doc = Microsoft.Office.Interop.Word.ApplicationClass app = missing = FileName = readOnly = isVisible = doc = app.Documents.Open( FileName, missing, missing, missing, missing, missing, missing, missing, missing, isVisible, missing, missing, Microsoft.Office.Interop.Word.WdStatistic stat = pageCount = doc.ComputeStatistics(stat, missing); What = Which = page = pageNum + ; Microsoft.Office.Interop.Word.Range ran1 = doc.GoTo( What, Which, page, Microsoft.Office.Interop.Word.Range ran2 = objStart = ran2.End; objEnd = ran1.Start; (page.Equals( + objStart = objEnd = Microsoft.Office.Interop.Word.Range r3 = doc.Range( objStart, String content = r3.Text; saveOption = doc.Close( saveOption, missing, app.Quit( saveOption, missing, }