我正在尝试在电子表格的标题中保存一个值,以便以后用作新的列值。
这是标题中包含值(XYZ)的简化版本:
这是我的设计:
tFilterRow_1用于拒绝A,B,C列中没有值的行。 tJavaRow_1中有一个条件来设置全局变量:
if(String.valueOf(row1.col_a).equals("CODE:")){
globalMap.putIfAbsent("code", row1.col_b);
}
tMap_1中用于获取全局变量的Var表达式为:
(String)globalMap.get("code")
Var“代码”映射到列“代码”,但我得到了这个输出:
a1|b1|c1|
a2|b2|c2|
a3|b3|c3|
错过了什么或者有更好的方法来完成这个方案? 提前致谢。
答案 0 :(得分:1)
简短回答: 我tJavaRow在这种情况下使用input_row或实际的rowN行.4。
更长的答案,我是怎么做的。
我要做的就是让excel在AS-IS中流动。通过使用一些Java技巧,我们可以简单地跳过前几行,然后让其余的流程通过。 所以过滤器+ tjavarow组合可以用tJavaFlex替换。
tJavaFlex我会这样做:
开始:
boolean contentFound = false;
主
if(input_row.col1 != null && input_row.col1.equalsIgnoreCase("Code:") ) {
globalMap.put("code",input_row.col2);
}
if(input_row.col1 != null && input_row.col1.equalsIgnoreCase("Column A:") ) {
contentFound = true;
} else {
if(false == contentFound) continue;
}
这样你只需跳过前几条记录(即标题),只关心实际数据。