0

我对 C# 相当陌生,但我能够将数据从 excel 文档提取到数据表中,也可以将 sql 存储过程中的数据提取到数据表中。现在我需要遍历 excel 数据表以查找与 sql 数据表不匹配的任何内容。我还希望匹配从某个列名开始,该列名不一定是第一列。任何想法或指示?谢谢!!

这是我的代码

foreach (DataRow row in excelTb.Rows) // Loop over the rows.
{
    Console.WriteLine("--- Row ---"); // Print separator.
    foreach (var item in row.ItemArray) // Loop over the items.
    {
        Console.Write("Item: "); // Print label.
        Console.WriteLine(item); // Invokes ToString abstract method.
    }
}
Console.Read(); // Pause.*/
4

1 回答 1

1

我不确定我的意图是否正确,但只是为了在某个列上将一个数据表中的行与另一个数据表进行比较,您可以尝试以下操作:

private void compareDataTables()
{
  // I assume that datatables are of same length
  for(int i = 0; i < excelDataTable.Rows.Count; i++)
  {
    // Assuming that given columns in both datatables are of same type
    if(excelDataTable.Rows[i]["col_name"] == sqlDataTable.Rows[i]["col_name"])
    {
      //your code
    }
}

打印列名:

string names = "Excel table: \n";
foreach (DataColumn dc in excelDataTable.Columns)
{
    names += dc.ColumnName+"\n";
}

names += "Sql table: \n";
foreach (DataColumn dc in sqlDataTable.Columns)
                {
                    names += dc.ColumnName+"\n";
                }
MessageBox.Show(names);
于 2013-10-19T00:18:00.847 回答