我幾乎要無語了,瘋掉了,以為是office本身的問題,換了好多次office2007,安裝又不順利,換到了office2010,想想大部分應該兼容2007,所以用着office2010了.
甚至差點要放棄了,見到一個網友說用SQL去用Excel,正准備打算新接觸東西.但是忽然看到我的 sql語句,突然想到"$"符號.
報錯:An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll
Additional information: Microsoft Access 數據庫引擎找不到對象“msg”。請確保該對象存在,並正確拼寫其名稱和路徑名。如果“msg”不是本地對象,請檢查網絡連接或與服務器管理員聯系。
這個提示看似就是路徑哈什么的不正確,以上(msg)是Excel中一個Sheet的名稱.在C#中我這樣使用:
1 //這個通過Oledb使用Excel. 2 string sql = "select * from " + SheetName + "";
其實應該是這樣的:
1 //"["和"$"兩個符號都不能省. 2 string sql = "select * from [" + SheetName + "$]";
連接字符串為:
1 ConnectString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + FileName + "';"; 2 ConnectString += "Extended Properties='Excel 12.0 Xml;HDR=YES'";