2012-04-23 76 views
3

在過去,我使用引用的庫在Java中創建了業務文檔。

我從來沒有使用JasperReports,應該嗎?

JasperReports是否允許從Java輕鬆創建PDF和Excel文件?

+0

恕我直言,JR它不是生成MS Word格式表格的最佳選擇 – 2012-04-23 11:43:07

+0

@AlexK你會推薦的其他東西嗎? – NimChimpsky 2012-04-23 11:43:46

+0

如果報告工具:Crystal Reports和MS SQL Server Reporting Services。如果用於生成文檔的Java API可能是OpenOffice。這是關於MS Word格式的生成文檔。同時我是JasperReports的忠實粉絲。 – 2012-04-23 11:49:54

回答

8

碧玉可以在情況下,受益您的組織(或客戶):

  1. 更是無法承受強大的解決方案,如水晶報表(或COGNOS等)
  2. 需要高度定製/用戶可配置的特別報告解決方案,非常易於集成到現有應用程序中(基於網絡或基於桌面):思考「嵌入式」解決方案。

我已經使用Jasper Reports作爲我的後端報告生成器(內部Jasper使用Apache POI用於XLS生成和iText用於PDF生成)構建了一個完全動態的,基於Web的臨時報告解決方案。其他報告包是否可以使用?我相信它會有,但整合本來會更加困難(它需要通過Web服務與報表服務器通信,從報表服務器讀取/流式傳輸數據等),而且可能無法對報告生成實現相同的細粒度控制。它完全可能的Crystal Reports有一個Java API(我從來沒有使用過Crystal Reports),但是如果從Java的角度來看,像Jasper一樣容易處理,我會感到驚訝。

Jasper允許我構建一個功能強大的嵌入式報表解決方案:因此,它對像我這樣的開發人員來說是一個「性感」的解決方案。這是人們必須小心的地方。對開發者有吸引力的解決方案並不總是最終用戶的最佳選擇。我相信其他解決方案從性能角度來看效率更高,因此可以處理更大的工作量。在使用Jasper時,正確處理性能(時間,內存和SQL查詢調優),異步報告/調度和文檔存儲的工作完全由開發人員負責。所以如果你的性能約束不是太嚴格或者你的預期工作量是合理的(這是相對的,相信我,我知道),Jasper可以是一個很棒的嵌入式解決方案。但是,如果您有足夠的資金和資源(某人進行配置,維護)購買​​更強大的報告解決方案,因爲您的性能需求需要它,請探索其他解決方案。