3

是否可以将变量从 php 传递到 JasperReports Server 中的报告?例如,在我的 php 应用程序中,我将 department_id 保存在会话变量中。我想将 department_id 传递给我在 JasperReports 服务器上运行的报告,并显示适合该部门的信息。在 iReport 我有一个类似的查询:SELECT * FROM employees WHERE department_id = $P{dept_id_from_php},但我必须建立一个下拉选择列表来传递 dept_id 参数。

最终结果是我希望登录到我的 PHP 应用程序的用户查看与登录用户所属部门相关的员工信息。我不想使用查询字符串传递它,因为用户可以只更改查询字符串中的 id 并可以访问其他部门的信息。理想情况下,我只想传递该参数一次,然后在所有报告中重用它,就像全局变量一样。

这可能吗?

4

1 回答 1

2

为此目的, https://github.com/adlermedrado/PHP-JasperServer-Integration这里有一个很棒的(小)php SOAP 接口。它应该节省一些时间!

//example
//construct report object
$report    =    array("_REPORT_PARAMETER"=>$php_variable);

//valid output PDF, JRPRINT, HTML, XLS, XML, CSV and RTF
$jasper->run('/path/_Standard_Report','PDF',$report,false);

应该注意的是,我在 XLS 导出方面没有取得很大成功,但其他格式似乎也能很好地工作。

于 2012-02-28T16:11:06.513 回答