如果我在javascript中使用此代码用于imacros
for(var i=0;i<10;i++)
并将其放在开头(我将填写10份表格)
macro +-= SET !DATASOURCE input.csv
macro +-= SET !DATASOURCE_COLUMNS 7
将每个循环,从我的
中的下一行读取 {{!COL1}} {{!COL2}} {{!COL3}}
..等
还是我必须把
{{!LOOP}}
某个地方?
所以...如果我想填写表格10次,那么每个循环都会从下一个csv行读取,如果我只是使用
for(var i=0;i<10;i++)
答案 0 :(得分:1)
您只能在imacros而不是列中切换这样的行。 试试这个代码示例:
var load;
load = "CODE:";
load += "set !extract null" + "\n";
load += "SET !DATASOURCE input.csv" + "\n";
load += "SET !DATASOURCE_COLUMNS 7" + "\n";
load += "SET !DATASOURCE_LINE {{i}}" + "\n";
load += "SET !extract {{!col1}}" + "\n";
var load2;
load2 = "CODE:";
load2 += "set !extract null" + "\n";
load2 += "SET !DATASOURCE input.csv" + "\n";
load2 += "SET !DATASOURCE_COLUMNS 7" + "\n";
load2 += "SET !DATASOURCE_LINE {{i}}" + "\n";
load2 += "SET !extract {{!col2}}" + "\n";
var load3;
load3 = "CODE:";
load3 += "set !extract null" + "\n";
load3 += "SET !DATASOURCE input.csv" + "\n";
load3 += "SET !DATASOURCE_COLUMNS 7" + "\n";
load3 += "SET !DATASOURCE_LINE {{i}}" + "\n";
load3 += "SET !extract {{!col3}}" + "\n";
for(i=1;i<10;i++){
iimSet("i",i);
iimPlay(load);
var content=iimGetLastExtract(0);
iimSet("i",i);
iimPlay(load2);
var content2=iimGetLastExtract(0);
iimSet("i",i);
iimPlay(load3);
var content3=iimGetLastExtract(0);
...
}
答案 1 :(得分:0)
您还可以存储CSV中的数据,并将整个CSV文件加载到变量中。然后你可以使用split()方法用逗号分割并存储在各个变量中。这个代码太长了,但如果你想使用不同的方法,这是一个想法。