如何在ssis中的数据流任务上创建单独的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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用以下方法。
在要放置新文件的文件夹中创建 Excel 文件模板。
将 Excel 文件目标连接到文件夹中创建的模板文件。
创建两个变量:
变量:IterationCount 数据类型 Int 默认值 1。
变量: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:
variable: IterationCount Data Type Int default value 1.
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