1、通過OLEDB方式
Provider=B.4.0;Data Source=;Extended Properties=Excel 8.0;
Provider=B.12.0;Data Source=;Extended Properties=Excel 12.0
兩者區別:第一個可以訪問 Office 97-2003;第二個既可以訪問既可以訪問 Office 2007,也可以訪問 Office 97-2003
如果使用第二個,需要安裝,可以從微軟官網下載。
如果是使用64位作業系統,則外掛應該為64位
如果是使用32位作業系統,則外掛應該為32位
如果是使用64位作業系統,並且外掛是32位,需要將應用程式池設定為“啟用32位應用程式”,或者sln編譯時,選擇x86而不是anyCPU和x64
2、通過l訪問
問題:如果開啟Excel後,會彈出提示框,如請啟用等,都會失去Excel的控制,這時候訪問Excel都會報錯。
處理方法:啟用Excel,new完Excel物件,設定ractive = false;完成後ractive = true;
3、訪問Excel會有權限限制。需要給DcomExcel賦許可權:(1、互動式使用者2、兩個everyone 全部許可權)
問題:64位作業系統通過看不到32位的`Excel DCOM,需要使用另一個命令
命令列中輸入:mmc /32
找到DCOM中的Excel
標識頁籤裡,設定為:互動式使用者
安全頁籤裡,設定“啟動和啟用許可權”為自定義,新增everyone所有許可權
設定“訪問許可權”為自定義,新增everyone所有許可權