Я хочу использовать JasperReports с тортом. Связь между CakePHP и JasperReports Server работает. Он генерирует заголовок отчета Excel. Проблема: я хочу передать данные для зацикливания в отчете, но не могу, потому что не знаю, как дать список данных в качестве параметра и как зациклить.
Я не хочу использовать SQL в качестве источника данных, потому что у меня есть фильтр на странице, и в соответствии с этим я хочу экспортировать только данные, отфильтрованные по многим параметрам на странице.
Вот мой код, который я использую для создания отчета:
$c = new Jaspersoft\Client\Client(
"http://localhost:8080/jasperserver",
"jasperadmin",
"jasperadmin");
$info = $c->serverInfo();
$controls = array(
'Contract reference' => 'Contract Reference',
'Type' => __('Type'),
'Entity' => 'Subsidiary'
);
$report = $c->reportService()->runReport('/reports/Contrat_User', 'xlsx', null, null,$controls);
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename=contratexport.xlsx');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . strlen($report));
header('Content-Type: application/xml');
echo $report;
Задача ещё не решена.
Других решений пока нет …