2017-05-11 27 views
0

보고서를 만들 때 데이터 구조를 Excel 스프레드 시트로 출력해야합니다. 이를 위해 JXLS를 사용하고 있지만 데이터를 올바르게 출력하는 jx 수식을 만드는 데 문제가 있습니다. 내가JXLS 지정된 필드로 출력을 그룹화하지 않는 수식

String name; 
String age; 
List<Pet> listOfPets; 

일부 가짜 데이터의 경우 사용하고 있습니다 : 그것은 다음과 같은 특성이있다 내 Person 클래스 내에서

List<Person> people = new ArrayList<Person>(); 

:

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> 

위의 출력 정확한 데이터가 않습니다하지만 나이를 그룹화하지 않습니다 ... 그것은으로 보여주는 것 반복 연령대의 큰 목록? 특정 연령대의 그룹으로 분류하려면 어떻게해야합니까?

+0

JXLS 라이브러리 설명서를 자세히 살펴 보셨습니까? 나는 당신을 위해 이것을 알아낼 시간이 없지만 그것은 시작할 곳이 될 것입니다. JXLS 라이브러리에 필요한 기능이없는 경우 다른 라이브러리를 찾는 것이 좋습니다. – mcraen

+0

나는 여러 번 문서를 훑어 보았고 그룹이 작동 할 것이라고 생각했습니다. 하지만 불행히도 내가 기대하는 바를하지 않고 있으며 많은 예제가 없습니다. – j1nrg

+0

저는 Excel 문서를 셀 단위로 작성한 과거의 다른 Excel 라이브러리를 사용했습니다. 그런 식으로 작동하는 것을 찾으면 (또는이 작업을 수행하는 경우) 기본 제공 기능에 의존하기보다는 프로그래밍 방식으로 그룹을 수행 할 수 있습니다. – mcraen

답변

1

당신은 GROUPBY = "연령" 대신 GROUPBY = "$ {인 person.age을}"를 사용한다이 같은 Jxls 1.x documentation에 설명했다.

그러나 전략적 권장 사항은 Jxls-2 및 해당 Each-command을 사용하여 지원되지 않는 레거시 Jxls-1 대신 그룹화를 수행하는 것입니다.

+0

내 관점에서 볼 때 v1.x가 v2.x보다 유용하고 스마트 한 경우 권장 사항을 이해하지 못합니다. – morganzd