根据文件日期选择加载Excel文件

时间:2018-11-05 19:33:03

标签: ssis ssis-2012

我有一个SSIS要求:

我有三个Excel文件,文件名的日期不同,保存在一个文件夹中。

文件夹路径:D:\SourceFolder\

文件名:Asia_Sale_07May2018.xlsxAsia_Sale_20Jun2018.xlsxAsia_Sale_15Aug2018.xlsx

我的软件包参数日期为07/15/2018

要求:处理文件名称为date =参数日期的文件。

如果我将参数日期设置为07/15/2018,则程序包应该选择并加载Asia_Sale_15Aug2018.xlsx

如果我将参数日期设置为06/20/2018,则程序包应该选择并加载Asia_Sale_20Jun2018.xlsx

如果我将参数日期设置为05/07/2018,则程序包应该选择并加载Asia_Sale_07May2018.xlsx

谢谢, 艾曼

2 个答案:

答案 0 :(得分:2)

1。使用ForEach循环浏览文件,获取FileName,然后使用Substring仅获取日期部分(在您的情况下为07May2018 / 20Jun2018 / 15Aug2018)。使用转换功能将其转换为所需的格式。

select convert(varchar,convert(date,'15Aug2018'),101) 

2。在控制流中使用优先级约束,该优先级约束将比较两个值并在文件匹配时加载文件。

答案 1 :(得分:-1)

我将建立您要查找的文件的名称,并使用foreach循环查找该特定文件。

为此的C#逻辑是:

DateTime dt = DateTime.Parse("1/1/2018"); //Just set from your parameter

string str_dt  = dt.ToString("ddMMMyyyy");

string fname = "Asia_Sale_" + str_dt + ".xlsx";

一旦知道了,就使用变量检查文件的foreach循环。