我在开发一个新软件包时遇到了一个问题,该软件包用于自动将数据从Excel文件加载到数据库表中。在加载时我需要提取Excel文件所在的文件夹名称,根据文件夹的名称,我必须检索要加载到数据库中的其他一些信息。我需要LOGIC的帮助来从文件路径中检索文件夹名称。
答案 0 :(得分:1)
您可以使用脚本任务,该任务允许您使用System.IO命名空间从文件中获取文件信息和目录信息。然后,您可以将要从文件夹信息中提取的值分配给变量,以便在以后的步骤中使用。
答案 1 :(得分:1)
这样做的一种方法是使用表达式任务。
要使用此方法,您需要将Excel文件的完整路径/名称字符串放入变量(以下示例中为“FullPath”)。
@[User::Folder] = SUBSTRING(@[User::Path], 1,
LEN(@[User::Path]) - FINDSTRING(REVERSE(@[User::Path]), "\\", 1)
)
此表达式将变量“Folder”设置为“FullPath”的值减去最后一个“\”及其后的任何内容。如果您将其C:\Somewhere\Somewhere Else\More Path\File Name.xlsx
提供,则表达式会将“文件夹”设置为C:\Somewhere\Somewhere Else\More Path
。
答案 2 :(得分:0)
尝试以下表达式:
SUBSTRING(@[User::FilePath], 1,
LEN(@[User::FilePath]) - FINDSTRING(REVERSE(@[User::FilePath] ), "\\" ,1 ) + 1
)
更多示例here