我有一个文件夹,其中包含每天更换的多个Excel文件。我需要一个总行数,它给出了文件夹中每个单独Excel文件的行数总和(即如果有3个文件,每个文件有10个记录,我需要结果数为30)。然后,我需要每天运行此程序包,将单个记录添加到日志表中,该日志表将为我提供文件夹中的每日记录数。我一直在尝试Foreach Loop容器和ADO枚举器,但似乎无法实现解决方案。
答案 0 :(得分:1)
有一个很好的解决方案,您无需使用任何脚本任务即可应用。您需要使用的只是“Foreach循环容器”,“数据流任务”和“执行SQL任务”
定义变量:
定义Foreach:
将源文件映射到RowCount组件并选择变量: V_FileRowCount
在Expression Pane中发出以下内容:
“SELECT”+(DT_STR,10,1252)@ [User :: V_TotalRecords] +“+”+(DT_STR,10,1252)@ [User :: V_FileRowCount] +“,1 +”+(DT_STR, 10,1252)@ [User :: V_RowCount]
完成上述操作后,您就完成了!
如果您希望查看结果,请添加脚本任务(仅显示结果)
并粘贴以下脚本代码而不是以“Public Void Main”开头的部分
public void Main()
{
try
{
string Variables = "Loop Counter: " + Dts.Variables["User::V_RowCount"].Value.ToString() + " Total Records in all files: " + Dts.Variables["User::V_TotalRecords"].Value.ToString();
MessageBox.Show(Variables).ToString();
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
}
答案 1 :(得分:0)