2017-05-11 10 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

Jxls 1.x documentationで説明したようにあなたは代わりにGROUPBY = "$ {person.age}"GROUPBY = "年齢"を使用する必要があります。

ただし、戦略的な推奨は、サポートされていない従来のJxls-1ではなく、Jxls-2およびそのEach-commandを使用してグループ化を行うことです。

+0

私の視点から見ると、v1.xがv2.xよりも使いやすく、スマートであるときの推奨を理解していない:( – morganzd

関連する問題