c# Excel输入连接两列
本文关键字:两列 Excel 输入 连接 | 更新日期: 2023-09-27 18:03:17
我一直在努力寻找这个问题的答案。我正在使用Oledb将Excel电子表格导入c#。这工作得很好,但是在导入时,我希望将两个Excel列连接在一起,即连接它们。
这是我目前拥有的代码:
string PathConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" + textBox1.Text + ";Extended Properties='"Excel 12.0 XML;HDR=Yes;'";";
OleDbConnection conn = new OleDbConnection(PathConn);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("Select [ID], [Subject], [Catalog], [Last], [First Name], [Descr], [Mark] from[" + textBox2.Text + "$]", conn);
DataTable dt = new DataTable();
myDataAdapter.Fill(dt);
dataGridView1.DataSource = dt;
上面的代码运行良好。我希望连接的两个列是Subject和Catalog,并将其命名为Module。主题是由三个字母和四个数字组成的字符串。是否有一种方法可以在select语句或替代方法中做到这一点?
提前感谢。
像这样更改您的OleDbAdapter
查询:
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("Select [ID], [Subject] + ' ' + [Catalog] AS [Module], [Last], [First Name], [Descr], [Mark] from[" + textBox2.Text + "$]", conn);
注意,[Subject] + ' ' + [Catalog] AS [Module]
被组合成一个字符串,并放在Module别名下。
您可以在查询中"CONCAT":
https://msdn.microsoft.com/es-es/library/hh231515 (v = sql.120) . aspx
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("Select [ID], CONCAT( [Subject], [Catalog] ) AS subject_catalog, [Last], [First Name], [Descr], [Mark] from[" + textBox2.Text + "$]", conn);