Foreach循环从Access数据表中提取文本文件,使用Excel中的列

本文关键字:使用 Excel 文件 提取 循环 Access 数据表 Foreach 取文本 | 更新日期: 2023-09-27 18:13:02

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

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

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

我需要创建一个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循环从Access数据表中提取文本文件,使用Excel中的列

感谢您的回答,我已经解决了这个问题,我只需要在foreach中创建一个foreach,并使用一些if操作符指定每个foreach循环中的操作。