Ich habe eine Vorlage mit zwei jx gemacht: jede Anweisungen. Der erste verweist auf den anderen und sollte einen Wert unter allen Spalten in der zweiten Tabelle suchen.Wie referenziert man einen Dynamikbereich innerhalb eines jeden in JXLS?
Es sieht ungefähr so aus:
A1: jx: jede (items = "Mitarbeiter" var = "Mitarbeiter" lastCell = "A2")
A1: $ {Mitarbeiter. id} A2: = INDEKS (C1; MATCH (A1; C1; 0))
B1:
C1: jx: jedes (item = "Gehalt" var = "Gehalt" lastCell = "C1 ")
C1: $ {} salary.employeeId C2: $ {} salary.value
Also, was ich versuche, hier zu tun ist, alle Mitarbeiter aufzulisten, und für jeden zeigen das Gehalt. Die Schleifen funktionieren gut. Aber das Problem ist, dass, wenn Zeilen werden in der ersten Schleife wiederholt die Formel iteriert über Zeilen in der zweiten stattdessen eine Reihe von erstellen:
Was erhalte ich:
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
Was ich will, :
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))
Ich erreichte dies durch: JxlsHelper.getInstance(). SetUseFastFormulaProcessor (false) .processTemplate (ist, os, Kontext); – Barsum