使用 SSIS 将多个 Excel 文件导入表中
Posted
技术标签:
【中文标题】使用 SSIS 将多个 Excel 文件导入表中【英文标题】:Import Multiple Excel files into a table using SSIS 【发布时间】:2016-09-01 08:39:36 【问题描述】:我在同一位置有两个名为“First”和“Second”的 Excel 文件。
它们具有相同的架构。
我使用了foreach循环计数器并将数据流任务放入其中。
数据流图如下:-
这里,我选择了第一个excel文件作为源......
我的 For Each 循环容器编辑器:-
成功运行 SSIS 包后,输出如下:-
只从第一个excel文件中取了3次数据,我肯定做错了什么,但我想不通。
【问题讨论】:
How to loop through Excel files and load them into a database using SSIS package?的可能重复 请显示您的 Excel 源属性的屏幕截图。 @zahid 看到这个答案。 => ***.com/a/7412643/325521 它通过屏幕截图引导您逐步完成此操作。我认为您在For Each
枚举器和Excel Connection Manager
中缺少FilePath
变量。
【参考方案1】:
检查您的 Foreach 循环编辑器:
Collection>Folder
Collection>Files
您的文件不应有特定的文件名,多个 excel 使用 *.xlsx
。
编辑:
使用脚本任务进行调试。将 ForEach 的值映射到一个变量并通过 Script 任务显示。 使用以下代码编辑脚本任务。
MessageBox.Show(Dts.Variables["Variable"].Value.ToString());
另外,请检查您的源 Excel 连接是否使用来自 foreach 的值正确配置。
【讨论】:
已检查,但一切似乎都很好..我现在添加了截图,请看一下 使用脚本任务调试代码。来看看文件名来了。编辑了答案。以上是关于使用 SSIS 将多个 Excel 文件导入表中的主要内容,如果未能解决你的问题,请参考以下文章
使用 SSIS 将具有多个表的单个 mdb 文件动态导入 SQL Server?
使用 ssis 包导入 excel 到 sql server 失败
在不知道工作表名称的情况下使用 SSIS 从 Excel 导入数据