2011-06-23 70 views
0

在我的源代碼中,我需要閱讀Excel 2007樣式表的內容。 所以,我首先建立一個OleDbConnection它:OleDbConnection到Excel樣式表:場景背後的組件是什麼?

OleDbConnection conn = new OleDbConnection(String.Format(@"Provider = Microsoft.ACE.OLEDB.12.0;Data Source = {0};Extended Properties =""Excel 12.0 Xml;HDR=YES;IMEX=1"";", xlsFilePath)); 

這工作完全在我的電腦上,卻一次也沒有在服務器上部署:Microsoft.ACE.OLEDB.12.0不是可用的供應商那裏。這可能是因爲我在我的電腦上安裝了Office 2007。不幸的是,我不能將其安裝在服務器上。

然而,我可能只安裝包含在服務器上的提供商的DLL,這將是好的...只要我能夠知道該死的DLL是什麼!

這就是我撕我的頭髮:我找不到我在調試窗口中的成員樹的方式來找出哪些是動態加載應對Excel的12.0連接的實際成分:哪一類?哪個組裝?不知道,我迷路了。

您的幫助將不勝感激! :-)

+1

重複的http://stackoverflow.com/questions/238625/microsoftoft-ace-oledb-12-0-provider-is-not-registered? –

+0

你必須使用ACE嗎?也許你的解決方案將工作Jet(Microsoft.Jet.OLEDB.4.0) - 它應該在你的服務器上預裝? (你在使用哪臺服務器?) – Juliusz

回答

0

我最終通過在服務器上安裝Office 2007的驅動程序(Office 2007驅動程序不涉及與許可證方面的Office 2007應用程序相同的問題)解決了我的問題。

這裏是鏈接:http://www.microsoft.com/download/en/confirmation.aspx?id=23734

然後我修改的ConnectionString以

@"Provider = Microsoft.ACE.OLEDB.12.0;Data Source = {0};Extended Properties =""Excel 12.0 Xml;HDR=YES;IMEX=1"";" 

希望這會幫助別人面臨着同樣的問題。 :-)