使用 SSIS 将具有动态列名称的 Excel 中的数据移动到 table

Moving the data from Excel which have Dynamic column names to a table using SSIS

我正在创建一个 SSIS 包,我必须在其中将数据从 Excel 移动到 SQL 服务器中的 table。 Excel 文件就像数据流任务中的Source Assistant。

Excel 文件中的列数不会改变,但列名会动态改变。

例如,2017 年 excel 将如下所示:

SId Name  Jan2017 Feb2017
1   name1  10      20
2   name2  30      40

2018年会是这样:

SId Name  Jan2018 Feb2018
1   name1  50      60
2   name2  70      80

每年一次,我将 运行 此作业将数据从 excel 移动到数据库。我必须将此类数据电影化到 table 中,其中包含如下列。

当我在2017年运行这个工作时,数据应该像下面这样填写。

SId Name   Jan     Feb
1   name1  10      20
2   name2  30      40

当我在2018年运行这个工作时,数据应该像下面这样填写。

SId Name   Jan    Feb
1   name1  50      60
2   name2  70      80

我该如何处理这种数据。

解决方案概述

  1. 在excel连接中排除第一行的列名,使用sql命令作为数据访问模式并从第二行读取数据
  2. Excel 源 -> 列中的别名列名

    F1  F2     F3     F4
    SId Name   Jan    Feb
    

详细解决方案

您可以按照我在 的回答进行操作,它正在解决一个非常相似的案例。