如何在JXLS中引用每个内部的动态范围?

时间:2016-08-10 22:35:07

标签: jxls

我用两个jx创建了一个模板:每个语句。第一个引用另一个,应该在第二个表中的所有列中查找一个值。

它看起来像这样:

  

A1:jx:each(items =“employees”var =“employee”lastCell =“A2”)

A1:$ {employee.id} A2:= INDEKS(C1; MATCH(A1; C1; 0))

B1:

  

C1:jx:each(items =“salaries”var =“salary”lastCell =“C1”)

C1:$ {salary.employeeId} C2:$ {salary.value}

所以我在这里要做的就是列出所有员工,并为每个人展示工资。循环工作正常。但问题是,当在第一个循环中重复行时,公式会迭代第二个循环中的行而不是创建范围:

我得到了什么:

A1:emp1 A2:=INDEX(F2;MATCH(A1;F2;0))
B1:emp2 B2:=INDEX(G2;MATCH(B1;G2;0))
C1:emp3 C2:=INDEX(G2;MATCH(C1;H2;0))
D1:emp4 D2:=INDEX(G2;MATCH(D1;I2;0))

E1:

F1: emp1 F2: 100,000
G1: emp1 G2: 100,020
H1: emp1 H2: 100,040
I1: emp1 I2: 100,060

我想要的是什么:

A1:emp1 A2:=INDEKS(F2:H2;MATCH(A1;F2:H2;0))
B1:emp2 B2:=INDEKS(F2:H2;MATCH(B1;F2:H2;0))
C1:emp3 C2:=INDEKS(F2:H2;MATCH(C1;F2:H2;0))
D1:emp4 D2:=INDEKS(F2:H2;MATCH(D1;F2:H2;0))

1 个答案:

答案 0 :(得分:0)

尝试使用

设置标准公式处理器
  xlsArea.setFormulaProcessor(new StandardFormulaProcessor());

看看它是否有帮助。