1. 程式人生 > >AspNet根據模板匯出Word文件(一)

AspNet根據模板匯出Word文件(一)

前言

  最近的專案中需要應用到根據Wrod模板匯出文件的需求,一個很實用的功能。下面就來分享一下我的實現過程:

內容

  環境:Asp.Net 新增:Aspose.Words Dll檔案的引用
  步驟一:製作Wrod模板
  通過編輯域來設定我們要繫結的欄位。
  製作
  步驟二:獲取需要插入的資料
  

string tempPath = HttpContext.Current.Server.MapPath("~/templates/Temp_Interview.docx");
            const string saveFold = "Word/";
            string outputPath = HttpContext.Current
.Server.MapPath("~/" + saveFold); if (!Directory.Exists(outputPath)) Directory.CreateDirectory(outputPath); string fileName = model.ID + model.AppName + ".docx"; outputPath += fileName; //載入模板 Document doc = new Document(tempPath);
// -使用者基本資訊- String[] fieldNames = new String[] { "UserId", "AppName", "Sex", "BirthDate", }; Object[] fieldValues = new object[fieldNames.Length
]; fieldValues[0] = model.ID; fieldValues[1] = model.AppName; fieldValues[2] = model.Sex; fieldValues[3] = model.BirthDate; doc.MailMerge.Execute(fieldNames, fieldValues);

  步驟三:匯入資料並設定儲存路徑
  

            //獲取下載地址
            String StrVisitURL = GetVisitURL() + saveFold + fileName;

            //合併模版,相當於頁面的渲染
            doc.MailMerge.Execute(new[] { "PageCount" }, new object[] { doc.PageCount });
            //儲存合併後的文件
            doc.Save(outputPath);
            return StrVisitURL;

這裡寫圖片描述

小結

  這樣我們就可以根據獲取到的資料填入到設定好的模板中啦,實現的過程並不難,主要是其中的方法以及AsposeWords的呼叫。下一篇文章我將繼續深入應用和大家分享關於多條資料動態匯入Word的實現方案。榮幸與您分享!