我有一种情况,我用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