如何通过列名称在Excel中获取列号

时间:2012-05-08 11:44:03

标签: c# wpf excel mvvm

我使用C#和MVVM模型创建了一个Excel应用程序。在该excel文件中,我创建了一些列作为模板列。例如,我有一些列,如单位费用数量。现在我想找到确切的列号“数量”。

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

任何人都可以告诉我一些方法来实现这个目标吗?

1 个答案:

答案 0 :(得分:0)

执行Select语句并填充数据集。现在遍历表格中的列,找到“Quantity”列的索引。

在数据集中加载excel文件的示例代码:

public static DataSet exceldata(string 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;

}

通过使用此方法,您已在数据集中加载了表架构。现在,您可以将列名和索引存储在任何集合变量中,并使用该集合中的键列名称获取列索引。