excel - 如何在 SSIS 表达式中获取 Excel 文件名的一部分

标签 excel ssis expression etl getdate

我有一个 SSIS 包,它只从特定文件夹中提取当前日期文件 Excel 文件的名称动态变化
文件名:XYZDailySettleTransaction_20220314_040117.xlsx我可以得到 XYZDailySettleTransaction_20220314.xlsx作为我的输出
下面是我的表达:

"XYZDailySettleTransaction_" + 
(DT_WSTR, 4) YEAR(GETDATE()) + 
RIGHT("0" + (DT_WSTR, 2) MONTH(GETDATE()),2) + 
RIGHT("0" + (DT_WSTR, 2) DATEPART("DD", DATEADD("day",0,GETDATE())),2) + 
"_" +".xlsx"
请帮助获取040117这是动态的
我真正想要的是表达式应该直接考虑 GETDATE() 之后的任何内容及之前 .xlsx

最佳答案

我建议在 FileSpec 中使用以下表达式ForEach 循环容器的属性以获取以当前日期前缀开头的所有文件:

"XYZDailySettleTransaction_" + 
(DT_WSTR, 4) YEAR(GETDATE()) + 
RIGHT("0" + (DT_WSTR, 2) MONTH(GETDATE()),2) + 
RIGHT("0" + (DT_WSTR, 2) DATEPART("DD", DATEADD("day",0,GETDATE())),2) + 
"_*.xlsx"
在 ForEach 循环容器中,选择 ForEach 文件枚举器选项,并在表达式表单中,将上述表达式分配给 FileSpec属性如下图所示。
enter image description here
enter image description here

关于excel - 如何在 SSIS 表达式中获取 Excel 文件名的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71466182/

相关文章:

xml - 只查找第一次出现的 XPath 表达式是什么?

vba - Excel VBA 另存为制表符分隔文件

c# - ssis 中的两个 C# 源脚本组件导致 "Object reference not set to an instance of an object"

java - 如何检查正则表达式中第一个字符以外的字符

sql-server - SSIS - 计算期初和期末余额

c# - 如何在自定义 SSIS 组件中创建目标列?

c++ - 使用 boost 正则表达式解析文本文件

regex - 如何编写正则表达式来填充给定文件类型的列表以排除某些文件夹

excel - VBA 类中的字典属性

正则表达式返回额外的空值