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

Lui*_*iaz 3 csv jasper-reports jasperserver jaspersoft-studio

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

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

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

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

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

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

在此处输入图片说明

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

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

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

Nar*_*cis 6

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

  1. 假设您的工作区中有 CSV 文件

在此处输入图片说明 (我使用的CsvDataSouce.txt从csvdatasource样品)

您首先从 Repository Explorer 视图创建数据适配器,指向您的文件并设置列名。

在此处输入图片说明

  1. 然后通过右键单击它并选择导出到文件选项 将新创建的适配器导出到文件在此处输入图片说明 (我将它保存在 CSV 文件中)

  2. 此时,您甚至可以从Repository Explorer视图中删除适配器并仅保留保存的文件以避免任何错误。然后通过选择工作区 dataAdapter 创建您的报告并继续您的报告设计。 在此处输入图片说明

  3. 在此阶段将报告发布到服务器不会推送 dataAdapter 文件。您需要从属性面板中指定报告的默认数据适配器属性 在此处输入图片说明

通过选择您的工作区适配器 在此处输入图片说明

  1. 您现在可以将报告发布到您的服务器,向导将自动发现要发布的其他资源 在此处输入图片说明

确保在最后一个对话框中选择不使用任何数据源选项

在此处输入图片说明

  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"/>
    
    Run Code Online (Sandbox Code Playgroud)

您可以继续处理它,Jaspersoft Studio 会提示您在每次保存时重新发布。

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