天天看點

利用C#向word文檔中寫入資料

一.建立WORD模闆 完全安裝Word 2003

       建立一個word,選中視圖--工具欄--窗體,點選文字型窗體域添加一個域。輕按兩下新添加的域,預設文字填寫你要顯示的文字,域設定--書簽填入一個标簽名,用于在程式中識别這個域

  二.添加COM引用---Microsoft  Word  11.0  Object Library

  三 .添加命名空間---using Microsoft.Office.Interop.Word;

  四.定義對象

       ApplicationClass app = null;//定義應用程式對象         Document doc = null;        //定義word文檔對象         Object missing = System.Reflection.Missing.Value;//定義空變量         Object isReadOnly = false;  五.方法

1)打開word模闆

view plain copy to clipboard print ?

  1. /// <summary>   
  2. /// 打開模闆word文檔   
  3. /// </summary>   
  4. /// <param name="parFilePath">文檔路徑</param>   
  5. private void OpenDocument(string parFilePath)   
  6. {   
  7. object filePath = parFilePath;//文檔路徑   
  8. app = new ApplicationClass();   
  9. //打開文檔   
  10. doc = app.Documents.Open(ref filePath, ref missing, ref isReadOnly, ref missing, ref missing,   
  11.            ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,   
  12.            ref missing, ref missing, ref missing, ref missing);   
  13.            doc.Activate();//激活文檔   
  14. }  
/// <summary>

/// 打開模闆word文檔

/// </summary>

/// <param name="parFilePath">文檔路徑</param>

private void OpenDocument(string parFilePath)

{

object filePath = parFilePath;//文檔路徑

app = new ApplicationClass();

//打開文檔

doc = app.Documents.Open(ref filePath, ref missing, ref isReadOnly, ref missing, ref missing,

           ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,

           ref missing, ref missing, ref missing, ref missing);

           doc.Activate();//激活文檔

}      

view plain copy to clipboard print ?

  1. 2.向word文檔寫入資料  
2.向word文檔寫入資料      

view plain copy to clipboard print ?

  1. <PRE class=csharp name="code">/// <summary>   
  2. /// 向word文檔寫入資料   
  3. /// </summary>   
  4. /// <param name="parLableName">域标簽</param>   
  5. /// <param name="parFillName">寫入域中的内容</param>   
  6. private void WriteIntoDocument(string parLableName, string parFillName)   
  7. {   
  8. object lableName = parLableName;   
  9. Bookmark bm = doc.Bookmarks.get_Item(ref lableName);//傳回标簽   
  10. bm.Range.Text = parFillName;//設定域标簽的内容   
  11. }</PRE>   
  12. <PRE class=csharp name="code"> </PRE>   
  13. <PRE class=csharp name="code">3.儲存并關閉</PRE>   
  14. <PRE class=csharp name="code"><PRE class=csharp name="code"> /// <summary>   
  15. /// 儲存并關閉   
  16. /// </summary>   
  17. /// <param name="parSaveDocPath">文檔另存為的路徑</param>   
  18. private void SaveAndClose(string parSaveDocPath)   
  19.  {   
  20. object savePath = parSaveDocPath;//文檔另存為的路徑   
  21. Object saveChanges = app.Options.BackgroundSave;//關閉doc文檔不提示儲存   
  22. //文檔另存為   
  23. doc.SaveAs(ref savePath, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,   
  24.                 ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);   
  25. doc.Close(ref saveChanges, ref missing, ref missing);//關閉文檔   
  26. app.Quit(ref missing, ref missing, ref missing);     //關閉應用程式   
  27. }</PRE>   
  28. </PRE>