1. 程式人生 > >WinForm——操作word文件

WinForm——操作word文件



解決方案資源管理器——引用——(右擊)新增引用——COM

1. 安裝Office,新增引用COM裡面的 Microsoft Word 14.0 Object. Library 

2. 導名稱空間 using MsWord =Microsoft.Office.Interop.Word;

3. 建立Word應用程式

把引用中的Microsoft.Office.Interop.Word屬性中的嵌入互操作型別設為False

建立Word應用程式

MsWord .Application wordApp = new MsWord.ApplicationClass();

列:

private void button1_Click(object sender, EventArgs e)
{
//建立word應用程式
MsWord.Application wapp = new MsWord.ApplicationClass();
//設定該應用程式可見
wapp.Visible = true;
//建立一個空的文件
// MsWord.Document md = wapp.Documents.Add();
//根據模板建立文件
MsWord.Document md = wapp.Documents.Add("E;\\ceshi.docx");
//開啟文件

MsWord.Document wordDoc = wordApp.Documents.Open(@"E:\aaa.doc");

6. 向word中新增內容

      //加內容

      MsWord.Application wordApp = new MsWord.ApplicationClass();造

      MsWord.Document wordDoc = wordApp.Documents.Add();建立空白的

      //Paragraphs是段落,可直接add,這裡是最後一段範圍

    wordDoc.Paragraphs.Last.Range.Text = "這是第一行\n";//應用程式裡在最後追加文字

      wordDoc.Paragraphs.Last.Range.Text = "第二行開始了";//不加\n會被覆蓋

      wordDoc.Paragraphs.Last.Range.Text = "會覆蓋的";

      //直接新增段,不是覆蓋

      wordDoc.Paragraphs.Last.Range.Text += "不會覆蓋的";

      //新增在此段的文字後面,不是新段落

      wordDoc.Paragraphs.Last.Range.InsertAfter("這是後面的內容");//在文件段落之後追加內容

      wordApp.Visible = true;//除了列印可見,其他不可見就可

       7、儲存文件

          wordApp.Visible = false; //不可見直接儲存

          wordDoc.SaveAs2(@"E:\bbb.docx");//另存為    save儲存

          wordDoc.Close(true);//關閉文件

          wordApp.Quit();//釋放Word程序  退出程式

8. 操作字型

  //字型

  wordDoc.Paragraphs.Last.Range.Font.Bold = 1;

  wordDoc.Paragraphs.Last.Range.Font.Italic = 1;

  wordDoc.Paragraphs.Last.Range.Font.Size = 32;

  wordDoc.Paragraphs.Last.Range.Font.Name = "楷體";

  wordDoc.Paragraphs.Last.Range.Font.Underline = MsWord.WdUnderline.wdUnderlineDash;

  wordDoc.Paragraphs.Last.Range.Font.ColorIndex = MsWord.WdColorIndex.wdPink;

9. 建立表格

//表格,5行5列

MsWord.Table table = wordDoc.Paragraphs.Last.Range.Tables.Add(wordDoc.Paragraphs.Last.Range,5,5);

//設定邊線可見

table.Borders.Enable = 1;

table.Borders.InsideColor = MsWord.WdColor.wdColorBlue;

table.Borders.OutsideColor = MsWord.WdColor.wdColorBlack;

table.Borders.OutsideLineWidth = MsWord.WdLineWidth.wdLineWidth025pt;

//表格加內容

for(int i =1 ;i<=5;i++)

{

  for (int j = 1; j <= 5; j++)

 {

  table.Rows[i].Cells[j].Range.Text="第i行,第j列";

}

//下面這行程式碼設定表格一行的背景色
table.Rows[i].Shading.BackgroundPatternColor = MSWord.WdColor.wdColorDarkYellow;

10.如何插入圖片?

wordDoc.InlineShapes.AddPicture(@"E:\cyl.jpg",false,true);

//設定圖片寬高的絕對大小

//wordDoc.InlineShapes[1].Width = 200;

//wordDoc.InlineShapes[1].Height = 150;

//按比例縮放大小

wordDoc.InlineShapes[1].ScaleWidth = 30;

wordDoc.InlineShapes[1].ScaleHeight = 30;

11. 如何操作書籤,在書籤處新增內容

wordDoc.Bookmarks["xingming"].Range.Text = "馬晨";

wordDoc.Bookmarks["xingbie"].Range.Text = "男";

wordDoc.Bookmarks["minzu"].Range.Text = "漢族";

wordDoc.Bookmarks["shengri"].Range.Text = "1991-6-1";

wordDoc.Bookmarks["zhengzhimianmao"].Range.Text = "共青團員";

wordDoc.Bookmarks["zhaopian"].Range.InlineShapes.AddPicture(@"e:\cyl.jpg");

wordDoc.Bookmarks["zhaopian"].Range.InlineShapes[1].Width = 80;

wordDoc.Bookmarks["zhaopian"].Range.InlineShapes[1].Height = 100;

 12. 列印預覽及列印

列印預覽:

wordDoc.PrintPreview();

列印

 wordDoc.PrintOut();

13. 注意:在隱藏的時候一定要注意程式碼最後寫上關閉文件和程式

  wordApp.Visible = false;

  wordDoc.Close(false);

  wordApp.Quit();