程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#操作word的方法示例

C#操作word的方法示例

編輯:C#入門知識

C#操作word的方法示例。本站提示廣大學習愛好者:(C#操作word的方法示例)文章只能為提供參考,不一定能成為您想要的結果。以下是C#操作word的方法示例正文


C#操作word的方法示例

作者:roucheng

這篇文章主要介紹了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

更多關於C#相關內容感興趣的讀者可查看本站專題:《C#操作Excel技巧總結》、《C#程序設計之線程使用技巧總結》、《C#中XML文件操作技巧匯總》、《C#常見控件用法教程》、《WinForm控件用法總結》、《C#數據結構與算法教程》、《C#數組操作技巧總結》及《C#面向對象程序設計入門教程》

希望本文所述對大家C#程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved