最近開發的一支 .NET程式,使用OLEDB 4.0去開啟Excel檔
但發現一個問題
該程式執行於Windows 7 x64版本的電腦上
會出現「Microsoft.Jet.OLEDB.4.0' 提供者並未登錄於本機電腦上」的問題
錯誤訊息如下圖:
其原因是:Microsoft Jet 沒有支援 64 位元的版本的Driver
解決方式:
不要將 .NET應用程式編譯為 64 位元(x64)或「Any CPU」(預設值) 的應用程式
而必須編譯為 32 位元(x86)的應用程式,才可以使用 Microsoft Jet
請參考:http://social.msdn.microsoft.com/Forums/zh-TW/238/thread/c55decf8-53a4-4c82-8aa3-d9f3e6c627c0
若使用Visual Studio,請在方案總管中的專案節點上按右鍵,然後選擇「屬性」以打開專案屬性視窗
請點選左方的「建置」頁籤,然後在平台目標旁的下拉方塊中,選擇「x86」,如下圖:
然後再編譯你的程式,你的程式應該就可正常執行。