C# 導出word文檔及批量導出word文檔(1)

     這裏用到了兩個dll,一個是aspose.word.dll,另一個是ICSharpCode.SharpZipLib.dll,ICSharpCode.SharpZipLib.dll是用於批量導出word文檔的,經過把文件打包成壓縮包,以文件流的方式輸出下載。aspose.word.dll最好使用最新版的,14.5或者更高,我使用的是14.5版本,頁面是採用mvc的語法。在這裏感謝趙某人爲我提供的幫助。         首先製做好word模板,使用模板能夠避免在代碼中對word進行排版,方便簡單。書籤和文本域的方法分別說明。        
   (1)書籤         
    打開word文檔,選擇「插入」 →「書籤」,在打開的對話框中輸入要添加的書籤名,書籤名能夠隨意定義,不過最好是數據表一致,這樣在代 碼裏就減小了判斷,而後點擊添加,算完成了。書籤是看不見的,就隱藏的,但它確確實實存在着,書籤的侷限性在於:一個word文檔裏只有一個書籤,不能同名,且若獲取列表時,書籤只能在文檔的開頭,前面不能插有其它的書籤或域,而文本域則不限,可是若是是二維域的話,文檔裏有相同的兩個字段的話,會致使後面的值會被前面的覆蓋,好比有兩個starttime的二維域,第二個starttime的值爲變成第一個的starttime的值,而不是其真正數據表裏的值。循環的列表則不會出現這樣的狀況。因此我用的都是文本域,相關設置以下圖:
 
圖片
 
圖片
 
       (2)文本域         
        打開word文檔,將光標放在插入點,選擇「插入」 →「文檔部件」→「域」,在打開的對話框中,選擇「郵件合併」→「MergeField」,輸入要添加的名稱,名稱能夠隨意定義,不過最好是數據表一致,這樣在代碼裏就減小了判斷,而後點擊肯定,算完成了。這裏特別要注意的是,定義圖片的域的方式,要加Image:,以下圖:
 
圖片 
圖片
 
  圖片
 
       以上的書籤和域是獲取單條記錄的,若是是多條記錄的話,則須要循環列表並填充數據,相關設置以下:
  • 書籤列表,上面的編號,姓名,時間也要插入書籤,table是到時循環出來的列表插入的位置:             
    
圖片  
  • 域,主要是注意tablestart和tableend,標題不用插入域,只需在下一行定義好域便可:
 
圖片
相關文章
相關標籤/搜索