您好,登錄后才能下訂單哦!
本篇內容主要講解“如何利用C#讀取Word”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何利用C#讀取Word”吧!
C#讀取Word1. 建立工程
在ASP.NET里操作Word的***步就是添加COM引用到你的工程里,通過右鍵點擊“解決方案資源管理器”的“引用”,添加引用。選擇COM選項卡,添加Microsoft Word 12.0 Object Library(其中12.0是Word版本號,根據當前電腦上安裝的Word版本確定)。 ASP.Net會自動生成Word的COM包裝類程序集添加到應用程序目錄里。
C#讀取Word2. 代碼邏輯
在服務器端訪問本地存在的Word文件,并根據他新建一個文件,利用Word的標簽定位賦值。客戶端瀏覽器通過文件鏈接訪問到這個新生成的Word文件。具體代碼如下:
private void Page_Load(object sender, System.EventArgs e) { // 在此處放置用戶代碼以初始化頁面 object Missing = Type.Missing; //取得Word文件路徑 string strTemp = "doc/test.doc"; //新Word文件保存路徑 string newFileName = "doc/test2.doc"; //創建一個名為WordApp的組件對象 Application WordApp = new ApplicationClass(); //必須設置為不可見 WordApp.Visible = false; try { //創建以strTemp為模板的文檔 object oTemplate = Server.MapPath(strTemp); Document WordDoc = WordApp.Documents.Add(ref oTemplate, ref Missing,ref Missing, ref Missing); WordDoc.Activate(); //對標簽"Title"進行填充 string strBM = "Title"; object objBM = strBM; if(WordApp.ActiveDocument.Bookmarks.Exists(strBM) == true) { WordApp.ActiveDocument.Bookmarks.get_Item(ref objBM).Select(); WordApp.Selection.TypeText("公文標題"); } //保存為新文件 object oNewFileName = Server.MapPath(newFileName); WordDoc.SaveAs(ref oNewFileName, 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); WordDoc.Close(ref Missing, ref Missing, ref Missing); WordApp.Quit(ref Missing, ref Missing, ref Missing); } catch(Exception Ex) { throw new Exception(Ex.Message); } //瀏覽器彈出下載框﹥ Page.RegisterStartupScript("", "﹤script﹥window.open('"+newFileName+"') ﹤/script﹥"); }
運行前,工程目錄下建文件夾doc, doc里新建一個test.doc,內容自己定,手動插入一個名為“Title”的標簽。此代碼在VS.Net2003+WinXP+Office2007 下運行通過。
C#讀取Word時遇到的問題:
如果你在運行時出現下面的調試錯誤:
拒絕訪問
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息: System.UnauthorizedAccessException: 拒絕訪問。
ASP.NET 未被授權訪問所請求的資源。請考慮授予 ASP.NET 請求標識訪問此資源的權限。ASP.NET 有一個在應用程序沒有模擬時使用的基進程標識(通常,在 IIS 5 上為 {MACHINE}\ASPNET,在 IIS 6 上為網絡服務)。如果應用程序正在通過 ﹤identity impersonate="true"/﹥ 模擬,則標識將為匿名用戶(通常為 IUSR_MACHINENAME)或經過身份驗證的請求用戶。 若要授予 ASP.NET 對文件的寫訪問權,請在資源管理器中右擊該文件,選擇“屬性”,然后選擇“安全”選項卡。單擊“添加”添加適當的用戶或組。突出顯示 ASP.NET 帳戶,選中所需訪問權限對應的框。
出現以上錯誤時,表明ASP.NET進程無法對具有用戶界面的Word進行自動化調用,必須由一個擁有桌面的用戶角色來啟動ASP.NET進程。
解決方法:在Web.config文件的System.Web節里添加
﹤identity impersonate="true" userName="*" password="*" /﹥
其中userName和password是你電腦里的Windows登錄賬戶。
到此,相信大家對“如何利用C#讀取Word”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。