2016-05-18 35 views
-1

我在JasperSoft Studio中開發了一個模板設計。如有必要,我可以上傳模板代碼。我使用通過JDBC連接到PostgreSQL數據庫來創建的模板,用於填充報告。然後我拿起當地的JasperReports服務器並在服務器上下載模板。在這方面,我有幾個問題。如何通過Web服務將數據[json/xml]傳遞到部署在JasperReports服務器上的報表?

  1. 我可以用作數據json或xml(而不是JDBC)嗎?
  2. 如何將數據(json或xml)傳遞到存儲在服務器上的模板,使用Web Services
  3. 難道你不能在python中做一個簡單的例子嗎?
+0

關於你的第一個問題:你見過這篇文章嗎? http://stackoverflow.com/questions/11536995/create-jasper-report-pdf-form-from-json-object-or-json-string – tobi6

+0

非常感謝您的回答。我沒有看到這個話題。閱讀後,我意識到可以使用數據'JSON',但是你的鏈接我不明白報表是如何填充的。是否有可能不使用數據適配器? –

回答

0
  1. 是的,你需要使用一個JSON或XML數據適配器。 您可以create a Data Adapter in Jaspersoft Studio然後deploy it in JasperReports Server。雖然在該教程中沒有說明,但您還需要將JSON或XML文件與實際數據(數據適配器中引用的文件)一起上載。

你的文件應該怎麼看起來像一個很好的例子是在/報告/互動資料庫的路徑表報告報告。如果您使用Jaspersoft Studio的資源庫資源管理器檢查報告,您將看到報告使用來自同一文件夾的CSV數據適配器。如果您打開該適配器文件,您將看到它使用來自同一文件夾的CSV數據文件。

  • JasperReports的服務器提供RESTful services與您使用服務器資源(reportUnits,inputControls,文件資源等)進行交互。 通過這些服務,您不會更改報告模板的設計。從第1點開始,您已經想出了模板中需要的內容,並且已經創建了適配器文件(XML文件),您可以使用upload your files的存儲庫服務。

  • 我認爲有足夠的資源描述如何在python中向RESTful服務發出請求。這可能是一個開始:Making a request to a RESTful API using python

  • +0

    非常感謝您的回答。報告模板「jrxml」和「數據適配器」必須存儲在服務器上?我想動態**將它們發送到服務器(而不是將它們存儲在服務器上),並作爲對以各種格式接收報告的響應。那可能嗎?如我錯了請糾正我。 –

    +0

    模板和適配器必須位於服務器上才能運行報告。沒有其他辦法。雖然答案#1也顯示瞭如何手動執行操作,但更多的是關於如何準備要使用第2個答案上傳的文件。通過服務器上的文件,您可以使用報告服務(http://community.jaspersoft。com/documentation/tibco-jasperreports-server-rest-api-reference/v621/reports-service)執行報告並以任何支持的格式(pdf,html,xls,docx等)獲得輸出結果 – Narcis

    +0

    編輯我的答案並添加了一些澄清,並指出JasperReports服務器中的一個示例已經使用這種方法。最後,使用REST服務,您只需操縱這些資源(上載/更新/刪除報告,數據適配器或數據文件) – Narcis

    相關問題