【问题标题】:SSIS: How to programmatically add columns on Excel file before processing it on data flow taskSSIS:如何在处理数据流任务之前以编程方式在 Excel 文件上添加列
【发布时间】:2012-07-06 12:08:55
【问题描述】:

我想请教您在这方面的专业知识,任何回复将不胜感激。这是我的问题:

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

最新版本的 Excel 宏(第 10 版)是我在数据流任务中用作我的源(和列的元数据库)的那个。旧版本的文件不包含与最新版本相同数量的列。如果我使用旧版本的 excel 文件作为我的源执行我的包,它将引发错误,因为列不同步。

由于每个版本都有数百个 Excel 宏文件并且没有正确的命名约定,我想我可以做的是:

  1. 使用 For Each 循环 - 循环遍历所有宏文件
  2. 通过脚本任务验证 excel 文件,检查缺失的 列。如果缺少列,请修改文件,添加 列然后保存它。
  3. 执行数据流任务

我尝试搜索此内容,但找不到有关此内容的任何详细文章。我听说 CozyRoc 有这个功能,但是它们的组件非常昂贵。我可以创建 10 个版本的包,但是我觉得这很乏味,而且我尽可能不想这样。

对此有任何解决方案或有其他替代方案吗?

抱歉英语不好。非常感谢!

【问题讨论】:

  • 如果你知道如何用c#编写代码,你可以自己创建组件。这将比其他任何事情都容易得多。

标签: ssis


【解决方案1】:

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

最近我遇到了 sp_makewebtask 的问题,需要我搜索 SSIS 方法:

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

how to create dynamic excel sheets based on table data

对我来说,您将在该链接上找到的内容将为您提供一个想法,即在处理数据流任务之前以编程方式在 Excel 文件上创建添加列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    相关资源
    最近更新 更多