如何在ssis中的数据流任务上创建单独的excel文件?

发布于 2025-01-10 22:06:42 字数 208 浏览 0 评论 0原文

我是 SSIS 新手。我正在尝试在数据流任务中为 for-each 循环的每次迭代动态创建一个单独的 Excel 文件?请指导

在此输入图像描述

I am new to SSIS. I am trying to create a separate excel file dynamically in data flow task for each iteration of the for-each loop? Please guide

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

若水微香 2025-01-17 22:06:42

您可以使用以下方法。

在要放置新文件的文件夹中创建 Excel 文件模板。

将 Excel 文件目标连接到文件夹中创建的模板文件。

创建两个变量:

  1. 变量:IterationCount 数据类型 Int 默认值 1。

  2. 变量:FileName 数据类型:字符串
    表达式 = "Mybasefilename_" + (DT_STR, 4,1252)[User::IterationCount] + ".xlsx"

在 Excel 文件连接上右键单击并点击属性,转到表达式并点击三个省略号,然后查找文件名属性。
选择 @[User::Filename] 变量设置属性值。但是,如果“名称”属性不可用,请使用连接字符串属性,您应该将文件夹路径添加为文件名变量的一部分,以创建整个文件目标和名称。

在 FELC 的最后一步,您需要在每次迭代中更新 IterationCount 变量。
因此,我们无法捕获迭代的索引,那么您需要使用 FELC、表达式任务或脚本任务中的表达式来更新 IterationCount 变量。
表达任务示例:
@[User::IterationCount] = @[User::IterationCount] + 1

有用链接:

Microsoft - SSIS ForEach 循环容器

SSIS 表达式任务

SSIS - 使用脚本任务更新变量

You can utilize the following approach.

Create an excel file template on the folder where you want to drop the new files.

Connect your excel file destination to the template file created in the folder.

Create two variables:

  1. variable: IterationCount Data Type Int default value 1.

  2. Variable: FileName Data Type: string
    Expression = "Mybasefilename_" + (DT_STR, 4,1252)[User::IterationCount] + ".xlsx"

On your excel file connection hit right click and hit properties go to expression and hit three ellipses and look for filename property.
Set the property value choosing @[User::Filename] variable. If the Name property is not available use the connection string property, however, you should add the folder path as part of your filename variable to create the entire file destination and name.

Last step in your FELC you need to update the IterationCount variable in each iteration.
So, we cannot catch the index of the iteration then you need to use an expression in the FELC, expression task, or a script task to update the IterationCount variable.
Expression task example:
@[User::IterationCount] = @[User::IterationCount] + 1

Helpful Links:

Microsoft - SSIS ForEach Loop Container

SSIS Expression Task

SSIS - Updating variables using Script Task

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文