我被要求使用Jaspersoft studio生成报告以生成报告模板,然后使用jaspersoft服务器让用户按需生成报告,使用CSV文件中的数据,而不是数据库。
我已经能够使用studio在本地生成报告,将报告上传到服务器,但我无法从那里生成报告。
我一直在环顾四周,提出的每个解决方案都是将数据注入数据库,然后使用它生成报告。但是在jaspersoft社区的其他帖子中,据说将在2014年初添加CSV支持,所以我猜它已经存在了。
所以,我认为可以解决的问题是:
1)将CSV文件添加到服务器,但如何链接报告(.jrxml)和dataAdapter(.xml)?
现在,我已将其上传到/contentFiles/xls/energy.csv,但是如果我把它放在数据适配器上,那么jaspersoft找不到它:
我假设因为服务器没有ip,所以它可能认为它是本地文件。如果我使用ip到服务器,在我的情况下,http:// 。 。。***:8080 / jasperserver /( *出于安全原因)并在之后添加/contentfiles/xls/energy.csv它仍然可以找到它。那么,如何将适配器链接到服务器上的csv文件?
此外,由于此csv文件将不时生成:
2)有一个文件夹可以放置或生成要在jaspersoft服务器上更新的csv文件吗?
答案 0 :(得分:3)
要在JasperReports Server中正确部署基于文件的dataAdapter
,需要执行几个步骤。使用 Jaspersoft Studio 6.4.0 和 JasperReports Server Pro 6.4.0 执行以下步骤。
(我正在使用csvdatasource示例中的CsvDataSouce.txt)
首先,通过指向您的文件并设置列名称,从资源库资源管理器视图创建数据适配器。
此时,您甚至可以从资源库资源管理器视图中删除适配器,并仅保留已保存的文件以避免任何错误。然后,您可以通过选择工作空间dataAdapter来创建报表,然后继续进行报表设计。
确保在上一个对话框中选择不使用任何数据源选项
您的报告现已链接到具有以下属性的服务器中的报告:
<property name="ireport.jasperserver.url" value="http://localhost:8080/jasperserver/"/>
<property name="ireport.jasperserver.user" value="jasperadmin"/>
<property name="ireport.jasperserver.report.resource" value="/public/CsvReport_files/main_jrxml"/>
<property name="ireport.jasperserver.reportUnit" value="/public/CsvReport"/>
您可以继续使用它,Jaspersoft Studio会提示您重新发布每次保存。