如何使用SSIS从Excel文件中获取信息

时间:2019-02-22 17:30:26

标签: sql-server excel ssis etl

我是SSIS的新手,正在尝试了解如何执行以下操作:

我有一个文件夹(TestFolder),其中有多个文件夹(SubFolder1,SubFolder2等)。在每个子文件夹中,都有多个Excel文件,它们具有不同的名称,但是将以日期结尾(格式为YYYYMM)。每个Excel工作簿中都有一个名为:AccessRates的选项卡,这是我要存储在SQL Server表中的数据。

好吧,那么问题来了:我如何设置SSIS控件流来处理这样的任务?我已经建立了一个数据流任务来处理数据转换,错误处理和最终放置在服务器表中,但是我无法弄清楚控制流。我相信我需要一个ForEach循环容器,但是我不知道如何设置它以及变量。

任何帮助或指导将不胜感激!

JP

2 个答案:

答案 0 :(得分:2)

解决方案准则

您应按照以下步骤操作:

  1. 使用foreach循环并枚举文件。
  2. 设置顶部文件夹并选择遍历子文件夹。
  3. 设置文件顺序,例如[所有文件的开头] *。xlsx
  4. 检索完全限定的文件名并映射到变量。
  5. 在foreach中,放置一个数据流任务
  6. 建立与任何文件的Excel连接
  7. 转到连接(F4)的属性。
  8. 将表达式映射连接字符串设置为步骤4中的变量
  9. 将“延迟验证”设置为true。
  10. 做你的数据流。

应该是这样。

分步教程

有很多文章逐步描述了整个过程,如果您需要更多详细信息,可以参考它们:

答案 1 :(得分:0)

看看此link,它向您展示如何设置环境var来存储要从中获取数据的工作表名称,然后如何使用该环境名称从excel来源获取数据。

希望这会有所帮助!