先推薦兩個links:
http://www.codeproject.com/aspnet/wordapplication.asp
http://www.c-sharpcorner.com/UploadFile/mgold/WordFromDotNet11082005235506PM/WordFromDotNet.aspx
其實網上我們可以找到更多更深入的資料,如果只是像我一樣把dataset中的資料畫到word裡這樣的簡單應用,那麼這兩篇文章也許適合。此外記錄一下我的兩點體會:
1、關於定義wordApp和wordDoc
//it's a reference to the COM object of Microsoft Word Application
private Word.ApplicationClass oWordApplic;
// it's a reference to the document in use
private Word.Document oWordDoc;
codeproject中是如此定義的,看到其他資料中也有其他定義的方式,比如:
Word.Application oWordApp;(此種方法Save和Quit的時候好像有衝突,編譯時間會提示) 或者 Word._Application oWordApp;
同理,對於document的定義也是如此:
Word._Document oWordDoc;或者Word.DocumentClass oWordDoc;
當然如果採用Word.DocumentClass,利用WordApp.Documents.Add()方法是要把傳回值強制轉換成Word.DocumentClass。
猛一看比較混亂,到底採取那種方式呢,其實都一樣,看一下它們是如何define的就明白了;
public interface _Document
{...}
public interface Document : _Document, DocumentEvents_Event
{...}
public class DocumentClass : _Document, Document, DocumentEvents_Event
{...}
public interface _Application
{...}
public interface Application : _Application, ApplicationEvents2_Event
{...}
public class ApplicationClass : _Application, Application, ApplicationEvents2_Event, ApplicationEvents_Event
{...}
2、關於Word.Table
在word中操作是,如果在表格末尾直接打斷行符號,會發現換行的同時,給表格增加了一個新行。同理,我們用程式操作word時也有這個問題,如果在表格之後緊接這插入另一個表格,那麼這兩個表格就會合成一個。如果我們想把表格分開,可以在之後插入一個空格來隔開。
另外還有個問題,如何在每個表格上面插入表格的標題呢?懇請高手指點。