0
我有一個List<MyDto>
,我想用PrimeFaces輸出。我試過<p:dataExporter>
,但它似乎只使用UI <p:dataTable>
內容。如何直接將DTO的集合導出爲CSV,Excel或PDF?
如何直接將DTO列表導出爲CSV,Excel或PDF?
我有一個List<MyDto>
,我想用PrimeFaces輸出。我試過<p:dataExporter>
,但它似乎只使用UI <p:dataTable>
內容。如何直接將DTO的集合導出爲CSV,Excel或PDF?
如何直接將DTO列表導出爲CSV,Excel或PDF?
您需要一個庫來處理這個問題。 Primefaces本身並不知道如何顯示數據(它會分析列,然後基於此列進行導出),因此您需要提供一些提示。簡單的答案是,您可以通過DTO上的反射以編程方式輕鬆創建表並將其綁定到頁面,或者創建一個簡單的數據表並將其設置爲「display:none」樣式,然後使用導出器。
或者,您可以查看像JasperReports這樣的處理「打印」到上述格式的報告套件,但是您需要做一些解釋操作。如果你不關心性能,JSON-Lib有一個非常好的「toXML」方法,可以將DTO轉換爲xml,然後可以將它們輕鬆導出到您選擇的任何格式。
基本上,如果它是一組複雜的DTO,或者如果它不是一個複雜的集合,那麼您大概需要1個小時的工作 - 只要帶寬不是問題,這應該是完全無痛的。