如何在Jaspersoft Server中使用csv作为数据源?

时间:2017-09-28 11:35:33

标签: csv jasper-reports jasperserver jaspersoft-studio

我被要求使用Jaspersoft studio生成报告以生成报告模板,然后使用jaspersoft服务器让用户按需生成报告,使用CSV文件中的数据,而不是数据库。

我已经能够使用studio在本地生成报告,将报告上传到服务器,但我无法从那里生成报告。

我一直在环顾四周,提出的每个解决方案都是将数据注入数据库,然后使用它生成报告。但是在jaspersoft社区的其他帖子中,据说将在2014年初添加CSV支持,所以我猜它已经存在了。

所以,我认为可以解决的问题是:

1)将CSV文件添加到服务器,但如何链接报告(.jrxml)和dataAdapter(.xml)?

现在,我已将其上传到/contentFiles/xls/energy.csv,但是如果我把它放在数据适配器上,那么jaspersoft找不到它:

enter image description here

我假设因为服务器没有ip,所以它可能认为它是本地文件。如果我使用ip到服务器,在我的情况下,http:// 。***:8080 / jasperserver /( *出于安全原因)并在之后添加/contentfiles/xls/energy.csv它仍然可以找到它。那么,如何将适配器链接到服务器上的csv文件?

此外,由于此csv文件将不时生成:

2)有一个文件夹可以放置或生成要在jaspersoft服务器上更新的csv文件吗?

1 个答案:

答案 0 :(得分:3)

要在JasperReports Server中正确部署基于文件的dataAdapter,需要执行几个步骤。使用 Jaspersoft Studio 6.4.0 JasperReports Server Pro 6.4.0 执行以下步骤。

  1. 假设您的工作区中有CSV文件
  2. enter image description here (我正在使用csvdatasource示例中的CsvDataSouce.txt

    首先,通过指向您的文件并设置列名称,从资源库资源管理器视图创建数据适配器。

    enter image description here

    1. 然后,通过右键单击并选择导出到文件选项,将新创建的适配器导出到文件 enter image description here (我将其保存在CSV文件中)

    2. 此时,您甚至可以从资源库资源管理器视图中删除适配器,并仅保留已保存的文件以避免任何错误。然后,您可以通过选择工作空间dataAdapter来创建报表,然后继续进行报表设计。 enter image description here

    3. 在此阶段将报告发布到服务器不会推送dataAdapter文件。您需要从属性面板中指定报告的默认数据适配器属性 enter image description here

    4. 选择工作区适配器 enter image description here

      1. 您现在可以将报告发布到服务器,向导将自动发现要发布的其他资源 enter image description here
      2. 确保在上一个对话框中选择不使用任何数据源选项

        enter image description here

        1. 您的报告现已链接到具有以下属性的服务器中的报告:

          <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"/>
          
        2. 您可以继续使用它,Jaspersoft Studio会提示您重新发布每次保存。

          1. 您的CSV文件现在是JasperReports Server存储库资源,您可以随时通过Studio或Server的UI更新。如果您不希望它驻留在JasperReports服务器端,您可以在创建/编辑dataAdapter文件时使用指向您文件的外部URL。