System.Runtime.InteropServices.COMException (0x800A03EC): Microsoft Office Excel
不能訪問文件“XXXXXXXX.xlsx”。
可能的原因有:
· 文件名稱或路徑不存在。
· 文件正被其他程序使用。
· 您正要保存的工作簿與當前打開的工作簿同名。
在 Microsoft.Office.Interop.Excel.Workbooks._Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru)
解決辦法:
1.
1).通過webconfig中增加模擬,加入管理員權限,
<identity impersonate="true" userName="系統(tǒng)管理員" password="系統(tǒng)管理員密碼"/>
2).這樣就能夠啟動Application進程,操作EXCEL了,能夠新建EXCEL,導出EXCEL,但是還是不能打開服務器端的EXCEL文件
2.
在組件服務,DOCM設置 Microsoft Excel Application的屬性,
因為是在64位系統(tǒng)上面操作,組件服務中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,測試通過