我想要使用PrimeFaces导出List<MyDto>
。我尝试使用<p:dataExporter>
,但似乎它只使用了内容<p:dataTable>
内容。
如何直接将DTO列表导出为CSV,Excel或PDF?
答案 0 :(得分:1)
你需要一个库来处理这个问题。 Primefaces本身并不知道如何显示您的数据(它会分析列,然后根据它进行导出),因此您需要给它一些提示。简短的回答是,您可以通过DTO上的反射以编程方式轻松创建表,并将其绑定到页面,或者通过创建简单的数据表并将其设置为“display:none”样式,然后使用导出器。
另外,您可以查看像JasperReports这样的报表套件,它可以处理上述格式的“打印”,但同样,您需要做一些事情来解释它。如果你不关心性能,JSON-Lib有一个非常好的“toXML”方法,可以将DTO拆分为xml,然后可以轻松导出到你选择的任何格式。
基本上,如果它是一组复杂的DTO,你会看到~1小时的工作,如果不是,则需要10分钟 - 只要带宽不是问题,这应该是完全无痛的。