Foreach循环从Access datable中使用Excel中的列提取文本文件

我所要做的是创build一个控制台应用程序,使用app.config中的SQL查询从Access数据库中提取单个表,以便可以在不更改应用程序中的代码的情况下更改SQL。 提取的信息必须是文本文件格式。 最难的部分是我有一个Excel文件与表的映射,我只需要提取信息,并添加其他。

例如,我将需要创build一个最初不在数据表中的新列,并给它一个默认值。 这些信息在Excel文件中。

我已经完成了连接,并且我从Access数据库中提取了一个需要临时数据表的表。 我已经有一个Excel文件的数据表,只有我需要在临时数据表中使用的列。

我需要创build一个foreach循环来检查Excel中的A列是否在使用中。 如果是的话,我需要检查另一列,包含Access数据表中的该列的名称,如果有我需要将该列提取到文本文件的值,如果没有值,我需要检查另一列包含一个默认值,我需要将该值添加到数据库中不存在的列。 如果在这两列中没有任何值,我只需要在文本文件中添加一个宽度值为空的空格。

所有提取到文本文件的列都需要有width-string.width,它们之间有一个空格,不需要提取列名。

这是我迄今为止:

static void createfile(DataTable accessTable, DataTable excelTable) { string strFileData = ""; foreach(DataRow accessRow in accessTable.Rows) { foreach (DataRow excelrow in excelTable.Rows) { string fieldname = ""; fieldname = excelrow["FieldName"] //if it's not empty strFileData.insert accessRow[fieldname]; string test = accessRow[fieldname.ToString()]; if(position == 0) strFileData = strFileData.Insert(0,iNoOf2025.ToString().PadLeft(width, '0')); } //insert in the text file 

感谢您的回答,我已经解决了这个问题,我只需要在foreach中创build一个foreach,并且在每个foreach循环中指定一些运算符。