如何将DTO集合直接导出为CSV、Excel或PDF?

如何将DTO集合直接导出为CSV、Excel或PDF?,excel,jsf,jsf-2,export,primefaces,Excel,Jsf,Jsf 2,Export,Primefaces,我有一个列表,我想用PrimeFaces导出它。我尝试了,但它似乎只使用UI内容 如何将DTO列表直接导出到CSV、Excel或PDF?您需要一个库来处理此问题。Primefaces本质上不知道如何显示数据(它分析列,然后在此基础上导出),因此需要给它一些提示。简单的回答是,您可以通过DTO上的反射并将其绑定到页面,或者通过创建简单的数据表并将其设置为“display:none”样式,然后使用导出器,以编程方式轻松创建表 或者,您可以查看像JasperReports这样的报告套件,它处理“打印”

我有一个
列表
,我想用PrimeFaces导出它。我尝试了
,但它似乎只使用UI
内容


如何将DTO列表直接导出到CSV、Excel或PDF?

您需要一个库来处理此问题。Primefaces本质上不知道如何显示数据(它分析列,然后在此基础上导出),因此需要给它一些提示。简单的回答是,您可以通过DTO上的反射并将其绑定到页面,或者通过创建简单的数据表并将其设置为“display:none”样式,然后使用导出器,以编程方式轻松创建表

或者,您可以查看像JasperReports这样的报告套件,它处理“打印”到上述格式,但同样,您需要做一些事情来解释它。如果您不关心性能,JSON库有一个非常好的“toXML”方法,可以将DTO转换为xml,然后可以轻松地导出为您选择的任何格式

基本上,如果是一组复杂的DTO,你需要工作约1小时;如果不是,则需要10分钟——只要带宽不是问题,这应该是完全无痛的