如何基于公共列在c#中连接excel表格?
这是我的excel工作表: 下面是我在c#中用来阅读它们的代码:如何基于公共列在c#中连接excel表格?,c#,excel,datatable,C#,Excel,Datatable,这是我的excel工作表: 下面是我在c#中用来阅读它们的代码: _ds = new DataSet(); _tb = new DataTable(); var myConnection = new OleDbConnection(@"provider=Microsoft.ACE.OLEDB.12.0;data source=" + OFD.FileName + ";Extended Prope
_ds = new DataSet();
_tb = new DataTable();
var myConnection = new OleDbConnection(@"provider=Microsoft.ACE.OLEDB.12.0;data source=" + OFD.FileName + ";Extended Properties=Excel 12.0;");
var myCommand = new OleDbDataAdapter("SELECT * FROM ["+SheetName+"$]", myConnection);
myCommand.Fill(_tb);
_ds.Tables.Add(_tb);
// _bs.DataSource = _ds.Tables[0];
DataTable Sheet0 = _ds.Tables[0];
我的问题是:如何基于NID将这两个表连接起来并在DataGrid中显示结果?从Excel导入的表连接与通常的连接没有什么不同,但有一个技巧。这些表应该有一个主键列
然后在您的情况下,我们首先将“id”列设置为主键:
Sheet0.PrimaryKey = new DataColumn[] { Sheet0.Columns["NID"] };
请记住:NID列值应该是唯一的,并且对于其他表也应该这样做设置主键后,可以使用联接或合并表。我使用合并方法,因为它更简单。::
这里有一个关于你是否感兴趣的问题。您可以查看它。
我希望这有帮助
var _TableAll = Sheet0.Copy();
_TableAll.Merge(_Table2);