思路:
获取文件夹下所有的文件路径封装成一个list,然后将list改为数组,通过循环的方式进行整合
流程:
作业图
步骤配置
获取文件名转换流程
步骤属性及配置
获取文件名
字段选择
javaScript
脚本内容
//获取文件夹下的文件路径
var prevRow=previous_result.getRows();
//判断获取的文件路径是否为空
if(prevRow != null && prevRow.size()>0){
设置默认变量值
parent_job.setVariable("path_list",prevRow);
parent_job.setVariable("path_count",prevRow.size());
parent_job.setVariable("i",0);
parent_job.setVariable("this_path",prevRow.get(0).getString('filename',''));
true;
}else{
false;
}
检验字段的值
excel同步转换
设置循环条件javaScript
脚本内容
//将获取的文件路径集合格式化为数组
var path_list=parent_job.getVariable("path_list").replace("[","").replace("]","").replace(" ","").split(",");
var log2= new org.pentaho.di.core.logging.LogChannel(path_list[1]);
//日志输出
log2.logMinimal(path_list[1]);
var path_count=new Number(parent_job.getVariable("path_count"));
var i=new Number(parent_job.getVariable("i"))+1;
if(i<path_count){
//excel输入组件种路径的赋值
parent_job.setVariable("this_path",path_list[i])
//日志输出
var log= new org.pentaho.di.core.logging.LogChannel(path_list[i]);
log.logMinimal(path_list[i]);
parent_job.setVariable("i",i);
true;
}else{
//日志输出
var log= new org.pentaho.di.core.logging.LogChannel(path_list[i]);
log.logMinimal(path_list[i]);
false;
}
空操作