我有一種情況,我用excel文件加載數據集。所有的工作表都作爲數據表格加載,並將適當的工作表名稱作爲數據表名稱。我想要做的是使用列名獲取這個可數據值。但我沒有得到錯誤說如何使用列名從數據表中獲取數據
「列'執行'不屬於表Sheet1」。
雖然裝載excel到datatabel我已經使用HDR = YES和IMEX = 1。我也嘗試過使用HDR = NO。沒有任何工作。
以下代碼是寫擅長於數據表
從Excel加載foreach (Microsoft.Office.Interop.Excel.Worksheet wsheet in workbook.Worksheets)
{
string sql1 = "SELECT * FROM [" + wsheet.Name + "$]";
OleDbCommand selectCMD1 = new OleDbCommand(sql1, SQLConn);
SQLAdapter.SelectCommand = selectCMD1;
SQLAdapter.Fill(dataset.Tables.Add(wsheet.Name));
}
數據到每個片材完美。但是按列名取得是問題所在。
任何建議請
我不知道它有多大用它做的,但我不知道爲什麼你使用'SQLDataAdapter'而不是'OleDbDataAdapter'?我只是嘗試了你的代碼,但使用'OleDbDataAdapter',它工作正常(即我有列名)。 – 2013-02-20 16:55:49
其實我的代碼是oledb,我創建的對象就像這樣OleDbDataAdapter SQLAdapter = new OleDbDataAdapter();我知道這很瘋狂......但是,謝謝,你給了一個答案,它的工作。 – Vincent 2013-02-21 12:11:34
對,我明白了。我以爲你可能會使用[this](http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter(v = vs.71).aspx)。無論如何,很高興我能幫上忙。 – 2013-02-21 16:54:13