1. 程式人生 > >在c#專案中用Docx外掛匯出word文件

在c#專案中用Docx外掛匯出word文件

在專案中遇到一個問題,就是當有多個使用者同時下載一個文件時,會出現下載不了的情況,經調研,可能是微軟自帶的Microsoft.Office.Interop.Word外掛的問題,所以就改用Docx外掛,解決了問題。程式碼如下:

  public void downDeviceAdjust()
        {
            try
            {
                var direc = HttpContext.Current.Server.MapPath(HttpPostedFileExtension.POSTED_FILE_ROOT_DIRECTORY);
                var savePath = direc + "測試申請表.docx";

                var templateName = direc + "測試申請表_模板.docx";

                DocX wordDocumentOld = DocX.Load(templateName);//載入已有的word模板
                DocX wordDocument = wordDocumentOld;  //複製載入的word模板,以免汙染原始模板

                Table wordTable = wordDocument.Tables[0];//獲取模板中的第一個表格
                wordDocument.Bookmarks["number"].SetText("12345");//向模板中的書籤中寫入資料
                wordDocument.Bookmarks["projectName"].SetText("專案名稱");
                          
                 wordTable.Rows[1].Cells[1].Paragraphs[0].Append(beforeAdjustDetail.ConstructPlanItem.DeviceNumber);//向模板中的表格中寫入資料
                        
                wordDocument.SaveAs(savePath);     //將寫好的word另存到指定路徑         
                downLoad(direc + "儀器裝置購置計劃調整申請表.docx", "儀器裝置購置計劃調整申請表.docx");         
        }