我的过程中的Foreach循环容器没有将新文件名推送到已建立的变量中。循环遍历该过程的次数是有多少个符合条件的文件,我只需要文件名是动态的即可。
我创建了一个变量名,其中包含所需目录中第一个文件的完整文件路径。看起来像C:\Somepath\ExcelFile.xlsx
我还创建了一个变量名ExtProperties,该变量名将在ConnectionString中使用,值为"Excel 12.0;HDR=Yes"
Foreach循环容器具有以下设置:
我之前提到的ExcelFileName变量已设置为索引0
我已经创建了一个具有以下相关属性的指向初始文件的Excel连接管理器:
表达式:我都尝试将ExcelFilePath
设置为
ExcelFileName变量,并将以下内容用于
ConnectionString:
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @[User::ExcelFileName] + ";Extended Properties=\"" + @[User::ExtProperties] + "\""
现在它仅使用ConnectionString。
数据流正在使用Excel连接管理器中的excel源。数据流的目的是从每个excel文件中提取记录数,获取文件名和执行加载的用户,然后将信息推送到数据库中。但是,当推送到数据库时,文件名和记录数始终是第一个使用的文件,与许多文件满足条件的次数相同。
我没有收到任何错误消息或警告。我在控制流中使用了以下脚本来查看变量的值是否已更改,但是弹出的消息框显示我仍然可以获取初始值。
MessageBox.Show(Dts.Variables["User::ExcelFile"].Value.ToString());
Dts.TaskResult = (int)ScriptResults.Success;
几天来我一直在阅读有关该主题的文章,这些是建议使用的设置,但这对我来说仍然是一个问题。任何帮助将不胜感激。