我尝试使用 Jaspersoft iReport 从我的 POJO 创建报告并将其导出为 PDF。
我的 POJO 看起来像这样:
class Topic {
String topicName
int topicPoints;
DateRange dateRange;
List<Post> posts;
}
class DateRange {
LocalDate begin;
LocalDate end;
}
class Post {
String postName;
int postPoints;
}
我用 JRBeanCollectionDataSource 找到了解决方案,所以我用一个元素(我的 POJO)创建了列表。
ArrayList<Topic> list = new ArrayList<>();
list.add(topic);
JRBeanCollectionDataSource beanColDataSource = new JRBeanCollectionDataSource(list);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, beanColDataSource);
JasperExportManager.exportReportToPdfFile(jasperPrint, "C:/jasper/test.pdf");
我在公开字符串、整数等简单数据方面没有问题。
例如,这出口罚款。
class Topic {
String topicName
Integer topicPoints;
}
仅:拖放字段 topicName (with "java.lang.String") 和topicPoints(with "java.lang.Integer")
但是,如何在 dateRange 或帖子内放置我的报告嵌套字段?
我看到有像java.lang.Objector这样的字段类java.util.List,但是如何在这个对象或列表中定义字段?
我的理想解决方案会创建如下报告:
更新:
class Topic {
String topicName
int topicPoints;
DateRange dateRange;
List<Post> posts;
}
class DateRange {
LocalDate begin;
LocalDate end;
}
class Post {
String postName;
int postPoints;
List<User> users;
}
class User {
String userName;
int userPoints;
}
万一它嵌套得更多呢?
慕村9548890
相关分类