C# Excel 输入连接两列

C# Excel input concatenate two columns

我一直在努力寻找这个问题的答案。我正在使用 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;

上面的代码运行良好。我希望加入的两个专栏是主题和目录,并将其称为模块。主题是一个由三个字母和四个数字组成的字符串。有没有办法在 select 语句或替代方法中执行此操作?

非常感谢。

您可以"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);

像这样更改您的 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 别名下。