Windows7與Window2008 64位IIS7上面配置操作Excel

今天操作EXCEL,通過讀取EXCEL中的內容導入到數據庫中,因爲EXCEL文件不規則,所以採用打開EXCEL文件,根據指定行,列的方式去讀取,然後錄入數據庫,但是在打開EXCEL時,發現如下問題:

 

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="系統管理員" 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,測試通過

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章