.net 引用Microsoft.Office.Interop.Word.dll對word文件進行操作


首先服務器需要安裝:office軟件,我安裝的是office2010版本,安裝后在服務器端不用激活也可以使用。

 

.net 4.0以上版本添加引用,如果不是4.0以上版本可能沒有這個,自己去下載一個Microsoft.Office.Interop.Word.dll應該也可以。

  

 

 


引用完成之后,如果直接用vs進行跑是沒有問題的,但是放在iis上面會提示:

檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件時失敗,原因是出現以下錯誤: 80070005

這里是權限問題,我們需要設置權限:

在運行欄中輸入命令:dcomcnfg,打開組件服務管理窗口,但是卻發現找不到Microsoft Word程序,這主要是64位系統的問題,excel是32位的組件,所以在正常的系統組件服務里是看不到的,可以通過在運行里面輸入comexp.msc -32 來打開32位的組件服務,在里就能看到Microsoft Word組件了:


下面就詳細介紹 DCOM 的配置過程。

1、運行“dcomcnfg”,打開 DCOM 配置程序。(或者 開始→設置→控制面版→管理工具→組件服務→計算機→我的電腦→DCOM配置)
 

 對 Excel 進行編程,實際上就是通過 .Net Framework 去調用 Excel 的 COM 組件,所有要在 Web 環境下調用 COM 組件的時候,都需要對其進行相應的配置。
很多朋友都反映在 Windows 環境下調試正常的程序,一拿到 Web 環境中就出錯,實際上就是因為缺少了這一步。

將 “身份標識” 選項卡中的用戶設為 “交互式用戶” 。

 

 

設置選中 “安全性” 選項卡中的 “使用自定義配置權限”,點擊 “編輯”。

 

用戶添加 EveryOne:

 

用戶添加 EveryOne:

 

 

 

參考:http://blog.csdn.net/lploveme/article/details/8215265

他的權限應該配置的是對的,但是我配置后用不了,所以權限給了 EveryOne。​

 

 

下面就可以使用命名空間了:

​using Word = Microsoft.Office.Interop.Word;

 

 

 

 

​1. 解決引用Microsoft.Office.Core --> Interop.Microsoft.Office.Core.dll
   先在各個項目“引用”中,刪除對Microsoft.Office.Core的引用,然后再右擊引用-->添加引用-->在COM頁面的下拉框中,找到Microsoft Office 11.0 Object Library ,按“確定” 就將其加入到 引用

 

 

后續,放在服務器上后的權限錯誤(當遠程桌面連接到這個服務器的時候是不會出現這個錯誤的,當遠程桌面斷開后就會報這個錯誤。):

檢索 COM 類工廠中 CLSID 為 {00024500-0000-0000-C000-000000000046} 的組件失敗,原因是出現以下錯誤: 8000401a 因為配置標識不正確,系統無法開始服務器進程。請檢查用戶名和密碼。 (異常來自HRESULT:0x8000401A)。

1:必須在所在的服務器安裝offce

2:點擊電腦開始==>運行:輸入:Dcomcnfg 會打開組件服務窗口,點擊樹菜單上的:組件服務節點===>計算機===>我的電腦====》DOCM 配置====》Microsoft Excle Application (和 Microsoft Word 97 - 2003 文檔 都要設置)==>

右鍵點擊屬性===》彈出屬性選項卡===》選中安全==》把選項卡中的所有權限選自定義===》編輯==》添加Everyone權限

3:再點擊==》標示===》查看運行此程序的用戶===》按理默認都是系統賬號,但是有的電腦犯賤,安裝的時候變成了啟動用戶,如果系統賬號選擇項無法選擇,則點擊下列用戶。(我主要是修改了這里,之前選擇的是交互式,現在改成系統帳號和密碼就可以了。選擇交互式的時候如果遠程連接這服務器就可以正常運行,如果斷開后就報錯。)

輸入賬號密碼,但是如果服務器修改了密碼,錯誤還是會回到以前一樣

4:有的電腦在執行第二步的時候找不到Microsoft Excle Application,則在運行輸入:mmc -32==》點擊文件=》添加刪除管理單元==》點擊添加主鍵服務==》

組件服務節點===>計算機===>我的電腦====》Microsoft Excle Application==>

右鍵點擊屬性===》彈出屬性選項卡===》選中安全==》把選項卡中的所有權限選自定義===》編輯==》添加Everyone權限

另外導出錯誤解決了,有時候還會報無權限下載,這是因為我們導出的Excle文件在服務器的某個文件夾,我們沒有權限,同理,右鍵點擊服務器上的文件夾,添加Everyone權限

就可以下載了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM