SSISdynamicexcel列标题

我在使用SSIS时遇到问题,希望有人能帮助我。 我是这个微软软件的新手,我被要求从13个星期的Excel计划文件导入数据。 所以数据在Excel文件中显示如下:

Person id | Person age| School activity | Activity leader| 18-06-2012 | 25-06-2012 | ..(more weeks) 1452 | 14 | Painting | John Smith | 2 | 6 | ... 

其中2和6表示每周花费在这项活动上的时间。

虽然,这个excel文件中的人员id,人员年龄,学校活动和活动负责人是静态列标题,但是每个列列标题在文件间变化。

因此,我不知道如何将这样的数据文件导入到我的数据库,因为我正在将问题从文件映射到另一个文件。

我希望将数据放入数据库中作为每周列的单独行,所以我使用unpivot转换来实现这一点。 我想要的是能够导入数据,无论列标题。

如果数据可以以CSV格式提供,那么可以使用平面文件源,然后跳过标题行,只要总是具有相同数量的具有相同可预测格式的列。

你在讨论中提到你将使用unpivot变换来将数据转换成单独的行,所以你知道如何去做其余的事情。

我最近不得不解决这个问题。 我发现的最大的问题是与Excel的SSIS期望静态的一组列。

所以我拿了一组文件,并为每个文件build立了一个类似的数据stream(只有在列不同时才有所不同)。 然后,我用一个文件枚举器放置一个控制stream来获取所有文件,并根据文件名决定要使用的数据stream。

这不是优雅 – 但它运作得很好。