2012-05-08 41 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