.NET操作WORD文档另存为其他格式的文件
剛在研究研究怎么可以在.NET程序中把WORD文檔另存為XPS文件,學(xué)習(xí)了一些概念和操作,馬上記錄下來吧,進(jìn)入正題。
1. 添加與WORD互操作的類庫,里面包含著WORD對象模型的.NET表示:
?
一看就知道微軟在建立OFFICE與.NET的互操作平臺上花了不少的努力,看這么多的DLL就猜到了。選擇了Microsoft.Office.interop.Word類庫后,就可以實現(xiàn)一系列與WORD的互操作。接下來還要在程序中引用相應(yīng)的命名空間:
using Microsoft.Office.Interop.Word;2. 創(chuàng)建WORD進(jìn)程對象,WORD并不代表一個或兩個文檔文件,它是這些文檔文件的處理環(huán)境,或者說WORD也是一個虛擬機(jī),不過就是一個只進(jìn)行文檔處理的虛擬機(jī)。于是要與WORD互操作實現(xiàn)文檔處理,首先要創(chuàng)建其進(jìn)程環(huán)境:
Application appClass = new Application();appClass.Visible = true;
創(chuàng)建這個WORD進(jìn)程還是比較簡單的。Visible屬性可以設(shè)置該WORD進(jìn)程是否UI可見,設(shè)置為true的話,效果就跟我們平常打開WORD文檔后一樣。
3. 打開WORD文檔, 我的目的是要把一份WORD文檔另存為其他格式的文件,當(dāng)然我可以重新編輯一個WORD文檔,但是我選擇打開一份已有的WORD文檔作為代替,因為這樣可以忽略關(guān)于WORD文檔編輯的程序難點:
代碼 Object missing = System.Reflection.Missing.Value;Document wordDoc = new Document(ref missing, ref missing, ref missing, ref missing);
object fileName = @"E:\test";
wordDoc = appClass.Documents.Open(ref fileName,
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, ref missing, ref missing);
說實在,剛開始研究這玩意,看到那么多奇怪的參數(shù)真是非常不習(xí)慣。Document是WORD對象模型中的文檔類,當(dāng)然不要和其他其他命名空間下的Document混淆了。構(gòu)造這個Document對象可以不使用任何有效的構(gòu)造參數(shù),默認(rèn)就可以。然后就是通過WORD進(jìn)程對象打開一份已有的WORD文檔了。打開的方法中最重要當(dāng)然是指定文檔所在的路徑了,也就是第一個參數(shù),由于WORD對象模型中很多方法的參數(shù)都是ref object類型,于是我只能繼續(xù)入鄉(xiāng)隨俗了(注意路徑中沒有文件后綴名,這個是可選的),其他的參數(shù)繼續(xù)默認(rèn)。來到這里就已經(jīng)打開了一份已有的WORD文檔。
4. 選擇保存的文件格式,調(diào)用SaveAs方法:
代碼 object format = WdSaveFormat.wdFormatXPS; object savePath = @"E:\test.xps";wordDoc.SaveAs(ref savePath, ref format, 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, ref missing);
所有支持的保存文件的格式都在WdSaveFormat枚舉類型中定義,這個枚舉類型的定義明顯是受到當(dāng)前機(jī)器上安裝的OFFICE版本影響,我的是2007。?定義了路徑名,選擇了保存文件格式的枚舉類型,就可以調(diào)用Document對象的SaveAs方法,并在前兩個參數(shù)中指定,其他參數(shù)使用默認(rèn)值。就這樣就完成了使用.NET對WORD文檔進(jìn)行文件格式轉(zhuǎn)換的目的。
Thanks for reading! nice!
轉(zhuǎn)載于:https://www.cnblogs.com/klzwj1988/archive/2010/08/02/1790631.html
總結(jié)
以上是生活随笔為你收集整理的.NET操作WORD文档另存为其他格式的文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多域环境下people picker查找
- 下一篇: 【XML DOM】解析XML Dom