SSIS:如何在处理数据流任务之前以编程方式在Excel文件上添加列

时间:2012-07-06 03:08:02

标签: ssis

我想请求您的专业知识,我们将非常感谢您的回复。这是我的问题:

我有10个版本的Excel宏文件。我需要使用SSIS将excel文件中的数据导入MS SQL Server数据库,将OLEDB作为Excel宏文件的数据源连接。

最新版本的Excel宏(第10版)是我在数据流任务中用作源(以及列的元数据库)的版本。旧版本的文件不包含与最新版本相同的列数。如果我使用旧版本的excel文件作为我的源来执行我的包,它会抛出一个错误,因为列不同步。

由于我每个版本有数百个Excel宏文件且没有正确的命名约定,我认为我能做的是:

  1. 使用For Each Loop - 循环遍历所有宏文件
  2. 通过Scripting Task验证excel文件,检查缺失的内容 列。如果缺少列,请修改文件,添加 列然后保存它。
  3. 执行数据流任务
  4. 我试着搜索这个,但我找不到关于这个的详细文章。我听说CozyRoc具有这种功能,但它们的组件非常昂贵。我可以创建10个版本的软件包但是,我觉得这很乏味,而且我不想让它产生这个。

    对此的任何解决方案还是有其他替代方法吗?

    抱歉英文不好。非常感谢你!

1 个答案:

答案 0 :(得分:0)

嗯,我知道这是一年之后发布的......但是,以防万一我仍然可以帮助那些可能会遇到同样问题但试图寻求答案的人。

最近我一直在使用sp_makewebtask遇到麻烦,这需要我搜索SSIS方法:

然后我在这里找到了这个链接:

how to create dynamic excel sheets based on table data

对我来说,您在该链接上找到的内容可以让您在Excel文件上以编程方式创建添加列,然后再处理数据流任务。