使用 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 导入数据

SSIS错误导入Excel日期(截断错误)

如何遍历 Excel 文件并使用 SSIS 包将它们加载到数据库中?

SSIS - 加载多个 Excel 文件:第一个文件搞砸了,其余的都是正确的