JXLS公式不按指定的字段分组输出

我正在创build一个报告,我需要输出我的数据结构到Excel电子表格。 为此,我使用JXLS,但是在创buildjx公式以正确输出数据时遇到了麻烦。

我有一个types的人名单:

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 =“age”而不是groupBy =“$ {person.age}”,如Jxls 1.x文档中所述 。

但是,策略build议是使用Jxls-2及其Each命令来执行分组,而不使用不受支持的传统Jxls-1。