這幾天,有個小任務(wù),要把一些數(shù)據(jù)用C#輸出到word里,查了查網(wǎng)上的資料,都是說怎么處理word2003的,而我的器上裝的是office 2007,所以有些內(nèi)容有些不太一樣,這里跟大家分享一下我的操作過程。
首先是添加引用,從com控件中找到Microsoft Word 12.0 Object Library,或者直接選擇“瀏覽”,找到X:\Program Files\Microsoft Office\Office12\MSWORD.OLB,添加引用就可以了,程序或自動增加Microsoft.Office.Interop.Word、Microsoft.Office.Core、VBIDE三個引用,注意,如果是Word2003,Microsoft.Office.Interop.Word 這個引用的名字是 Word,這是與2003不同的地方。
然后在程序中用using語句導(dǎo)入word。(如果是word2003,采用using Word;就可以了)
using Microsoft.Office.Interop.Word;
另外再增加一個引用,具體的作用參加代碼中的注釋 using System.Runtime.InteropServices;
下邊是對word的簡單操作 bool createByMe;
Microsoft.Office.Interop.Word.Application oWord; try { //如果有正在運(yùn)行的word實例,則直接采用當(dāng)前的word實例, //否則,直接創(chuàng)建新實例,在最后退出時會報模板正在使用中等問題 oWord = (Microsoft.Office.Interop.Word.Application)Marshal.GetActiveObject("Word.Application"); createByMe = false; } catch { oWord = new Microsoft.Office.Interop.Word.Application(); createByMe = true; } Object Nothing = System.Reflection.Missing.Value; Object template = System.Windows.Forms.Application.StartupPath + "\Caliber.dot"; Document myDoc = oWord.Documents.Add(ref template, ref Nothing, ref Nothing, ref Nothing); //do something
myDoc.Paragraphs.Last.Range.Text = "test"; myDoc.SaveAs(ref strFileName, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing); myDoc.Close(ref Nothing, ref Nothing, ref Nothing);
if (createByMe) { oWord.Quit(ref Nothing, ref Nothing, ref Nothing); } 本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/littleRoc/archive/2008/04/24/2324207.aspx |
|