보고서를 만들고 있는데 데이터 구조를 Excel 스프레드 시트로 출력해야합니다. 이를 위해 JXLS를 사용하고 있지만 데이터를 제대로 출력하기 위해 jx 수식을 만드는 데 문제가 있습니다.
유형 사람 목록이 있습니다.
List<Person> people = new ArrayList<Person>();
내 Person 클래스에는 다음과 같은 속성이 있습니다.
String name;
String age;
List<Pet> listOfPets;
일부 가짜 데이터의 경우 다음을 사용하고 있습니다.
petList1.add("Dog");
petList1.add("Cat");
people.add(new Person("Joseph", "18", petList1);
petList2.add("Dog");
petList2.add("Fish");
people.add(new Person("Tommy", "18", petList2);
petList3.add("Bird");
petList3.add("Dog");
people.add(new Person("Sally", "19", petList3);
연령별로 그룹화하여 Excel에 표시하고 싶습니다. 예를 들면 :
Age 18:
Name: Joseph
Age: 18
Pets: Dog, Cat
----------------
Name: Tommy
Age: 18
Pets: Dog, Fish
Age 19:
Name: Sally
Age: 19
Pets: Bird, Dog
지금까지 내가 가진 것은 다음과 같습니다.
<jx:forEach items="${personsList}" var="person"> groupBy="${person.age}"
Name : ${person.name}
Age : ${person.age}
<jx:forEach items="${person.listOfPets}" var="pets">
Pets : ${pets.type},
</jx:forEach>
</jx:forEach>
위의 내용은 올바른 데이터를 출력하지만 연령별로 그룹화하지 않습니다. 반복되는 연령의 큰 목록으로 표시됩니까? 특정 연령 미만의 모든 그룹을 그룹화하려면 어떻게해야합니까?
당신은 사용해야 GROUPBY = "시대" 대신 GROUPBY = "$ {인 person.age을}" 에 설명 된대로 Jxls 1.x의 문서 .
그러나 전략적 권장 사항 은 지원되지 않는 레거시 Jxls-1 대신 Jxls-2 및 해당 Each-command 를 사용하여 그룹화를 수행하는 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다