我有一个包正在创建一个excel文件'ExcelName.xls'并存储在'E:\ Reporting \ Delivered_Reports'中。现在我必须使用发送邮件任务附加此报告并将其发送到给定的邮件ID。为实现这一点,我配置了发送邮件任务,在Expression Builder中,我选择了以下表达式:
"E:\\Reporting\\Delivered_Reports\\ExcelName_"+
((DT_WSTR,4)Year(@[System::StartTime]))+
RIGHT("0"+((DT_WSTR,2)Month(@[System::StartTime])),2)+
RIGHT("0"+((DT_WSTR,2)Day(@[System::StartTime])),2)+".xls"
我需要的文件名应该是'ExcelName_20150601',其中后缀是当前日期。但我收到文件名为'ExcelName',这是原始文件名。你能告诉我我哪里错了吗?
提前致谢
答案 0 :(得分:0)
听起来您正在编辑电子邮件中excel文件的名称,而不是使用文件系统任务在发送文件之前实际重命名该文件。据我所知,您无法使用发送邮件任务重命名该文件。
此外,我会在单独的变量中对日期进行字符串转换,以便更容易调试,或者甚至将两个值都放在变量中以便于维护。
创建变量“var_today”或其他内容并将此代码放入其中:
((DT_WSTR,4)Year(@[System::StartTime]))+
RIGHT("0"+((DT_WSTR,2)Month(@[System::StartTime])),2)+
RIGHT("0"+((DT_WSTR,2)Day(@[System::StartTime])),2)
然后你的表达成为:
"E:\\Reporting\\Delivered_Reports\\ExcelName_"+
@[User::var_date]+".xls"
对根目录执行相同的操作。
答案 1 :(得分:0)
最好在从包中生成时创建所需的文件名。 您无法在发送时更改名称,并将文件名放在字符串变量中,而不是直接写入。 @ [用户:: FILE_NAME] + @ [用户::日期] + “XLSX” 像这样的东西