我有兩個具有相同列但名稱不同的excel文件。與數據表的列匹配
我必須從源中找到列名,併爲目標找到相同的列名。名字可以不同。我必須比較這些值以找出匹配的列名稱。
例如一個excel工作表可以具有
Order ID Quantity Units
--------- ------- --------
1022 7 55
的另一個可以通過比較數據具有
Order ID Qty Unt
-------- -------- --------
1022 7 55
所以,我知道,數量和數量是相同的,單位和UNT。
我使用數據適配器並通過讀取excel工作表來填充兩個數據表。 我想知道如何匹配兩列,因爲他們的ID是相同的(訂單ID),並通過使用兩個數據表進行比較。
string _basePath = @"C:\Users\Dev\Documents\Visual Studio 2010\Projects\Excel2\Excel2\";
string _targetConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + _basePath + "Target.xlsx" + ";Extended Properties=Excel 12.0;";
string _sourceConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + _basePath + "Source.xlsx" + ";Extended Properties=Excel 12.0;";
var adapter = new OleDbDataAdapter("SELECT * FROM [Target$]", _targetConnStr);
var ds = new DataSet();
adapter.Fill(ds, "targetTable");
DataTable _targetDataTable = ds.Tables["targetTable"];
adapter = new OleDbDataAdapter("SELECT * FROM [4028001$]", _sourceConnStr);
ds = new DataSet();
adapter.Fill(ds, "sourceTable");
DataTable _sourceDateTable = ds.Tables["sourceTable"];
foreach (DataRow row in _targetDataTable.Rows) // Loop over the rows.
{
foreach (var item in row.ItemArray) // Loop over the items.
{
Console.WriteLine(item);
}
}
你說什麼時候說「map two columns」? – 2012-07-30 19:13:49
使用LINQ並在訂單ID上執行兩個表的連接。 – StarPilot 2012-07-30 19:18:33
我必須從源中找到列名,併爲目標找到相同的列名。名字可以不同。我必須比較這些值以找出匹配的列名稱。 – SupaOden 2012-07-30 19:20:25