![](/img/trans.png)
[英]While Saving the excel using workbook.saveAs getting the Exception from HRESULT: 0x800A03EC?
[英]Excel workbook.saveas inside IIS
在IIS中發布Web應用程序時出現問題
有時WorkBook.SaveAs方法可以正常工作,有時則不能。
說明:執行當前Web請求期間發生未處理的異常。 請查看堆棧跟蹤,以獲取有關錯誤及其在代碼中起源的更多信息。
異常詳細信息:System.Runtime.InteropServices.COMException:遠程過程調用失敗。 (來自HRESULT的異常:0x800706BE)
源錯誤:
workbook.Saved = True
workbook.SaveAs(Server.MapPath("~/MyFolder/Excel.xlsx"))
workbook.Close()
APP.Quit()
有時錯誤是在APP.Quit上
首先要注意的是,由於許可和穩定性/可靠性問題,Microsoft 不支持 Office interop 服務器端 :
Microsoft當前不建議也不支持任何無人參與的非交互客戶端應用程序或組件(包括ASP,ASP.NET,DCOM和NT Services)中的Microsoft Office應用程序自動化,因為Office可能表現出不穩定的行為和/在此環境中運行Office時出現死鎖或死鎖。
盡管如此,仍有許多人這樣做/嘗試這樣做,並遇到了與您類似的問題。 通常,這似乎是由權限問題(安全上下文和DCOM安全配置)引起的。 已針對其描述了不同的潛在解決方案,例如
如何使IIS7與Office Interop配合使用具有兩種不同的解決方案,其中一種在其他地方多次提到:
- 打開Windows資源管理器
- 根據您安裝的是32位還是64位版本的Office,您需要執行以下一項(或兩項):
- 32位Office安裝:導航到C:\\ Windows \\ System32 \\ config \\ systemprofile
- 64位Office安裝:
- 導航到C:\\ Windows \\ SysWOW64 \\ config \\ systemprofile
- 驗證文件夾“桌面”是否存在(如果不存在,請創建它)
- 右鍵單擊>屬性
- 在安全選項卡上:添加具有默認權限(讀取和執行;列出文件夾內容;讀取)的運行網站的帳戶(例如:網絡服務)
RPC失敗,打開了一個Excel文檔。 列出以下解決方案:在“運行”中鍵入Dcomcnfg.exe,這將打開dcomconfig實用程序。
在dcomconfig實用程序中,
轉到組件服務->計算機->我的電腦-> DCom配置-> Microsoft Excel應用程序(和Powerpoint)
右鍵單擊它,然后轉到屬性。 轉到安全選項卡。 在安全之下
1)啟動和激活權限->選擇自定義,然后單擊編輯。 添加用戶網絡服務,並檢查“允許”下的所有內容。
2)對“訪問權限”和“配置權限”執行相同的操作。
然后單擊“應用”並關閉所有內容。
事實證明,COM對象需要某種許可。 將Win2003服務器上的AppPool(用於站點)設置為“ SYSTEM”可以解決此問題。 對於某些用途(默認情況下),ASPNET帳戶有權訪問任何COM對象嘗試訪問的內容。
這些解決方案之一可能會為您服務。
它有時對您有用而不是在其他時間不起作用的原因可能與特定excel文件的內容有關,例如,它是否包含任何VBA腳本或引用任何(特定)模塊。 所以這是您應該研究的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.