這篇文章主要介紹了C#操作word的方法,結合執行個體形式分析了C#針對word文檔的讀取、寫入、儲存等相關操作技巧,需要的朋友可以參考下
本文執行個體講述了C#操作word的方法。分享給大家供大家參考,具體如下:
#region 讀取word/// <summary>/// 讀取word所有文字內容(不包含表格)/// </summary>/// <returns>word中的字元內容(純文字)</returns>public string ReadAllFromWord(){ Word.ApplicationClass app = null; Word.Document doc = null; object missing = System.Reflection.Missing.Value; object FileName = m_FilePath;//@"E:/學習實驗項目/ReadFromWordDoc/test.doc"; object readOnly = true; object isVisible = false; try { app = new Word.ApplicationClass(); doc = app.Documents.Open(ref FileName, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref isVisible, ref missing, ref missing, ref missing, ref missing); string textString = ""; //讀取全部內容 何問起 hovertree.com textString = doc.Content.Text.Trim();// int ParCount = this.getParCount(doc);//段數// for (int i = 1 ; i <= ParCount ; i++)// {// textString = textString + doc.Paragraphs[i].Range.Text.Trim();//doc.Content.Text.Trim();//// } textString = textString.Replace("/a",""); //替換空串為空白。(word中/a代表空串,但在C#中,代表響鈴 暈~~)否則顯示控制台程式時會響 textString = textString.Replace("/r","/n"); //替換斷行符號為斷行符號換行 return textString; } catch(Exception ex) { throw ex; } finally { if (doc != null) { try { doc.Close(ref missing, ref missing, ref missing); } catch {} doc = null; } if (app != null) { try { app.Quit(ref missing, ref missing, ref missing); } catch {} app = null; } GC.Collect(); GC.WaitForPendingFinalizers(); }}#endregion#region 追加寫入word /// <summary>/// 追加寫入word/// </summary>/// <param name="InsertText">需要寫入的字串</param>public void WriteToWord(string InsertText){ Word.ApplicationClass app = null; Word.Document doc = null; object missing = System.Reflection.Missing.Value; object FileName = m_FilePath;//@"E:/學習實驗項目/ReadFromWordDoc/test.doc"; object readOnly = false; object isVisible = false; try { app = new Word.ApplicationClass(); doc = app.Documents.Open(ref FileName, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref isVisible, ref missing, ref missing, ref missing, ref missing); //啟用word文檔 doc.Activate(); //追加到最後一段(段落是按照 /n 來作為標誌的) doc.Paragraphs.Last.Range.Text = InsertText + "/n";//加個結束符(增加一段),否則再次插入的時候就成了替換. //儲存 doc.Save(); } catch(Exception ex) { throw ex; } finally { if (doc != null) { try { doc.Close(ref missing, ref missing, ref missing); } catch {} doc = null; } if (app != null) { try { app.Quit(ref missing, ref missing, ref missing); } catch {} app = null; } GC.Collect(); GC.WaitForPendingFinalizers(); }}#endregion