我有一个想要用PrimeFaces导出的List<MyDto>。我尝试使用<p:dataExporter>,但它似乎只使用UI <p:dataTable>内容。
如何直接将DTO列表导出为CSV、Excel或PDF?
发布于 2011-11-03 02:14:22
您需要一个库来处理此问题。Primefaces本身并不知道如何显示您的数据(它会分析列,然后根据这些列导出数据),所以您需要给它一些提示。简而言之,您可以通过DTO上的反射以编程方式轻松创建表,并将其绑定到页面,或者通过创建一个简单的数据表并将其设置为"display:none“样式,然后使用导出器。
或者,您可以查看像JasperReports这样的报告套件,它处理“打印”到上述格式,但是同样,您需要做一些工作来解释它。如果您不关心性能,JSON-Lib有一个非常好的"toXML“方法,它可以拆分DTO to xml,然后可以很容易地将其导出为您选择的任何格式。
基本上,如果是一组复杂的DTO,您将看到大约1小时的工作,如果不是,则需要10分钟--只要带宽不是问题,这应该是完全没有痛苦的。
https://stackoverflow.com/questions/7984266
复制相似问题