Microsoft Office Excel 不能訪問檔案“D:\WWWRoot\KOBELCOSH\WebUI\ExcelTemplate\QUOTE5.xls”。 可能的原因有:1 檔案名稱或路徑不存在。 2 檔案正被其他程式使用。 3 您正要儲存的活頁簿與當前開啟的活頁簿同名。 說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆疊追蹤資訊,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細資料。 異常詳細資料: System.Runtime.InteropServices.COMException: Microsoft Office Excel 不能訪問檔案“D:\WWWRoot\KOBELCOSH\WebUI\ExcelTemplate\QUOTE5.xls”。 可能的原因有:1 檔案名稱或路徑不存在。 2 檔案正被其他程式使用。 3 您正要儲存的活頁簿與當前開啟的活頁簿同名。源錯誤: 執行當前 Web 請求期間產生了未處理的異常。可以使用下面的異常堆疊追蹤資訊確定有關異常原因和發生位置的資訊。 堆疊追蹤: [COMException (0x800a03ec): Microsoft Office Excel 不能訪問檔案“D:\WWWRoot\KOBELCOSH\WebUI\ExcelTemplate\QUOTE5.xls”。 可能的原因有:? 檔案名稱或路徑不存在。 ? 檔案正被其他程式使用。 ? 您正要儲存的活頁簿與當前開啟的活頁簿同名。] Microsoft.Office.Interop.Excel.Workbooks.Add(Object Template) +0 KOBELCO.WebUI.Quote5.OutputExcel(String lblMachineModel, String lbPhone, String lblFax, String lblCustomerNameCn, String lblAgentNameA, String lblAgentPhoneA, String lblUseModel, String lblComment) in D:\Mingyou\KOBELCOSH\Kobelco\WebUI\Quote5.aspx.cs:38 KOBELCO.WebUI.Quote5.gvResult_SelectedIndexChanging(Object sender, GridViewSelectEventArgs e) in D:\Mingyou\KOBELCOSH\Kobelco\WebUI\Quote5.aspx.cs:180 System.Web.UI.WebControls.GridView.OnSelectedIndexChanging(GridViewSelectEventArgs e) +108 System.Web.UI.WebControls.GridView.HandleSelect(Int32 rowIndex) +43 System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +197 System.Web.UI.WebControls.GridView.OnBubbleEvent(Object source, EventArgs e) +95 System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37 System.Web.UI.WebControls.GridViewRow.OnBubbleEvent(Object source, EventArgs e) +123 System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37 System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +118 System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +135 System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565 解決辦法: 1. 1).通過webconfig中增加類比,加入管理員權限, <identity impersonate="true" userName="系統管理員" password="系統管理員密碼"/> 2).這樣就能夠啟動Application進程,操作EXCEL了,能夠建立EXCEL,匯出EXCEL,但是還是不能開啟伺服器端的EXCEL檔案2. 在元件服務,DOCM設定 Microsoft Excel Application的屬性, 因為是在64位系統上面操作,元件服務中DOCOM中預設是沒有的,因為Microsoft Excel Application是32的DCOM配置,所以通過如下方式解決(參考第三步)3. 1).開始--〉運行--〉cmd 2)命令提示字元下面,輸入mmc -32,開啟32的控制台 3).檔案菜單中,添加刪除嵌入式管理單元--〉元件服務 4).在"DCOM配置"中找到"Microsoft Excel 應用程式",在它上面點擊右鍵,然後點擊"屬性",彈出"Microsoft Excel 應用程式屬性"對話方塊 5).點擊"標識"標籤,選擇"互動式使用者" 6).點擊"安全"標籤,在"啟動和啟用許可權"上點擊"自訂",然後點擊對應的"編輯"按鈕,在彈出的"安全性"對話方塊中填加一個"NETWORK SERVICE"使用者(注意要選擇本電腦名稱),並給它賦予"本地啟動"和"本地啟用"許可權 7).依然是"安全"標籤,在"存取權限"上點擊"自訂",然後點擊"編輯",在彈出的"安全性"對話方塊中也填加一個"NETWORK SERVICE"使用者,然後賦予"本地訪問"許可權. 4.重新啟動IIS,測試通過 如果是iis7+win2008 R2 則在元件服務中的 EXCEL Application 修改以上屬性即可。
|