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循环中指定一些运算符。
- 如何在Excel中查找Dulpicate行并更新状态为其重复的列
- 在2007年打开Excel时出错
- 检查MS Office文件(word,excel.ppt,访问等)是否启用macros或不使用JavaScript
- 使用C#Asp.net Web应用程序将ibfs(从网站下载的Excel文件)文件转换为.xls / .xlsx文件格式
- 如何在Excel中使用OLEDB获得只有excel工作表名称的列表; 过滤出在元数据中显示的非工作表
- CSV在Excel中的行为与在Sublime / C#中的行为不同
- 无法忽略错误此单元格中的公式指的是具有与其相邻的其他数字的范围。使用NPOI
- 如何使用OpenXML从Excel表格中检索选项卡名称
- 我怎样才能从Excel中获取单元格地址?