在做專案時時常會有需要處理Word文件的情況,也會遇到由User提供範本要求開發人員依照此範本去依照程式做出需求,那身為開發人員除了依照此範本在程式刻出同樣的成品外,我們還可以透過引入此範本至程式中的方式,針對其中設定好要代換的部分進行代換,簡單的達成依照範本產出成本的需求,而在這裡簡單介紹好用的套件來協助開發人員在.NET Fremework下完成此項工作--DocX。
CodePlex : https://docx.codeplex.com
License : http://docx.codeplex.com/license
在License上採用Ms-PL授權,簡單來說在使用上若有去針對原始碼做修改,則使用的專案也須公開原始碼;若是直接使用封裝好的套件,則專案無須將原始碼公開。
以下簡單的介紹使用方式:
首先在VS中可以簡單地透過Nuget進行安裝
接著準備一份測試文件,命名為testDoc.docx,儲存路徑為C:\TestDocx
程式中使用的簡單方式如下
static void Main(string[] args) { // 指定範本來源路徑 string templatePath = "C:\\TestDocx\\testDoc.docx"; // 讀入該範本檔 DocX document = DocX.Load(templatePath); // 取代字串 document.ReplaceText("#NAME#", "Yohey66"); document.ReplaceText("#ID#", "A126123456"); // 指定成品儲存路徑及檔名並執行儲存 string savePath = "C:\\TestDocx\\"; string fileName = string.Format("result_{0}.docx", DateTime.Now.ToString("yyyyMMddHHmmss")); document.SaveAs(savePath + fileName); }
最終程式會將成品儲存在指定的路徑
我們便可以透過自己習慣的方式將該檔案提供給使用者進行下載使用,開發人員便無需再看著範本自行刻出同樣的文件格式就可以達成同樣的需求。
當然DocX還有其他的好功能可利用,下次有機會再進行分享。
謝謝大大分享ㄛ
讚讚
不客氣,也請您不吝指教
讚讚