2012-04-09 76 views
1

我想查詢Excel文件中唯一一張工作表的數據。OleDbAdapter SelectCommand Excel c#

MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$] ", MyConnection); 

該行查詢來自Sheet1的數據。問題是我不知道輸入文件中表單的名稱是什麼。有沒有什麼方法可以編寫命令字符串,以便它可以訪問表單,而不管名稱是什麼。

+0

可能的重複[使用Excel OleDb獲取表單名稱在頁順序](http://stackoverflow.com/questions/1164698/using-excel-oledb-to-get-sheet-names-in-sheet-order ) – V4Vendetta 2012-04-09 10:57:07

+0

這個想法是,我將在文件中只有一張。那麼,我怎樣才能選擇那張紙而不管名字? – 2012-04-09 11:01:08

回答

1

如果將總是只有工作簿中的一個表,那麼你可以通過先得到工作表名稱,然後將其放入您的查詢做到這一點:

DataTable dt = MyConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); 
string sheetName = dt.Rows[0]["TABLE_NAME"].ToString(); 

如果你有一個以上的然後這將返回首先在字母順序中的工作表。

相關問題