c# 解決IIS寫Excel的許可權問題

來源:互聯網
上載者:User

具體配置方法如下:

1:在伺服器上安裝office的Excel軟體.
2:在"開始"->"運行"中輸入dcomcnfg.exe啟動"元件服務"
3:依次雙擊"元件服務"->"電腦"->"我的電腦"->"DCOM配置"
4:在"DCOM配置"中找到"Microsoft Excel 應用程式",在它上面點擊右鍵,然後點擊"屬性",彈出"MicrosoftExcel 應用程式屬性"對話方塊
5:點擊"標識"標籤,選擇"互動式使用者"
6:點擊"安全"標籤,在"啟動和啟用許可權"上點擊"自訂",然後點擊對應的"編輯"按鈕,在彈出的"安全性"對話方塊中填加一個"NETWORKSERVICE"使用者(注意要選擇本電腦

名),並給它賦予"本地啟動"和"本地啟用"許可權.
7:依然是"安全"標籤,在"存取權限"上點擊"自訂",然後點擊"編輯",在彈出的"安全性"對話方塊中也填加一個"NETWORKSERVICE"使用者,然後賦予"本地訪問"許可權.
這樣,我們便配置好了相應的Excel的DCOM許可權.
注意:我是在WIN2003上配置的,在2000上,是配置ASPNET使用者

若不進行配置會出現錯誤
檢索 COM 類別工廠中 CLSID 為 {00024500-0000-0000-C000-000000000046}的組件時失敗,原因是出現以下錯誤: 80070005。
原因是使用者沒有使用Excel的許可權。
匯出到word同樣要配置使用word的許可權。

失敗,原因是出現以下錯誤: 80070005
癥狀:
oWordApplic = New Word.Application
當程式運行到這句時出現下面的錯誤:
檢索 COM 類別工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046}的組件時失敗,原因是出現以下錯誤: 80070005。
oWordApplic = New Word.Application
當程式運行到這句時出現下面的錯誤:
檢索 COM 類別工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046}的組件時失敗,原因是出現以下錯誤: 80070005。
解決方案一:
控制台-》管理工具-》元件服務-》電腦-》我的電腦-》DCom配置-》找到Microsoft Word文檔
之後
單擊屬性開啟此應用程式的屬性對話方塊。
2. 單擊標識選項卡,然後選擇互動式使用者。
3.單擊"安全"選項卡,分別在"啟動和啟用許可權"和"存取權限"組中選中"自訂",然後
自訂->編輯->添加ASP.NET賬戶和IUSER_電腦名稱

* 這些帳戶僅在電腦上安裝有 IIS 的情況下才存在。
13. 確保允許每個使用者訪問,然後單擊確定。
14. 單擊確定關閉 DCOMCNFG。

解決方案二:
如果上述方法不能解決問題,就應該是許可權問題,請嘗試用下面的方法:
在web.config中使用身份類比,在<system.web>節中加入 <identity impersonate="true" userName="你的使用者名稱"password="密碼"/>
</system.web>

<identity impersonate="true" userName="你的使用者名稱"password="密碼"/>
此處我用的超級使用者測試的--通過

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.