2012-05-08 42 views
2

我使用C#和MVVM模型创建了Excel应用程序。在那个excel文件中,我创建了一些列,如模板列。例如我有一些列像单位,成本数量。现在我想找到“Quantity”的确切列号。如何使用列名称获取Excel中的列号

如何获得特定列(数量)编号?

请问任何人都可以告诉我一些方法来达到这个目的吗?

回答

0

执行Select语句并填充数据集。现在通过表中的列遍历,并找到列“数量的指数”

样例代码加载数据集Excel文件:

公共静态数据集exceldata(字符串filelocation) {

DataSet ds = new DataSet(); 

    OleDbCommand excelCommand = new OleDbCommand(); OleDbDataAdapter excelDataAdapter = new OleDbDataAdapter(); 

    string excelConnStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + filelocation + "; Extended Properties =Excel 8.0;Hdr=Yes"; 

    OleDbConnection excelConn = new OleDbConnection(excelConnStr); 

    excelConn.Open(); 

    DataTable dtPatterns = new DataTable(); excelCommand = new OleDbCommand("SELECT `PATTERN` as PATTERN, `PLAN` as PLAN FROM [PATTERNS$] where 1=0", excelConn); 

    excelDataAdapter.SelectCommand = excelCommand; 

    excelDataAdapter.Fill(dtPatterns); 

    "dtPatterns.TableName = Patterns"; 

    ds.Tables.Add(dtPatterns); 

    return ds; 

} 

通过使用这种方法,您已加载数据集中的表模式。现在你可以将列名和索引存储在任何收集变量和收集使用键列名获取列索引。

+0

灿你认罪向我发送它的示例代码?我没有在我的代码中使用数据集我使用IEnumurable Collection来存储我的数据。那我怎么得到它?你能给我多一点解释吗? – SuryaKavitha

+0

@SuryaKavitha - _your_代码是什么样的?你如何加载你的数据? –

+0

我正在使用IEnumurable局部变量,如“var TTLrecQtyList = _taskPaneViewModel.TrackedItems;” 。在这个TTLreqQtyList中,我拥有所有的列和它的值。现在我想要一个通用的方法,它应该接受我的列名“数量”,它应该返回相应的列号。 – SuryaKavitha