Export JasperReports resultados da consulta

No meu projeto Java, tenho muitos relatórios JasperReports com consultas SQL complexas, contendo muitos parâmetros. Os relatórios são usados para produzir documentos PDF contendo os dados retornados pela consulta, agrupados e formatados de várias maneira

Agora também tenho a necessidade de exportar diretamente o resultado da consulta (por exemplo, um ResultSet, um mapa ou um arquivo csv ou similar ...). É possível solicitar ao JasperReports para executar apenas a consulta e retornar resultados em vez de renderizar a página pdf?

(NOTA: não é o mesmo que escolher um formato de saída csv para a renderização do relatório, porque esse método tenta converter o design do relatório em um arquivo csv ... Em vez disso, eu gostaria apenas de "reutilizar" a consulta dentro de um relatório, aproveitando também o gerenciamento de parâmetros JR, etc ...)

Este é o meu código Java para produzir um documento PDF a partir de um relatório:

JasperReport report = (JasperReport) JRLoader.loadObject(inStream);
JasperPrint jasperprint = JasperFillManager.fillReport(report, params, conn);
JRAbstractExporter exporter = new JRPdfExporter();
exporter.exportReport();
ByteArrayOutputStream os = (ByteArrayOutputStream) exporter.getParameter(JRExporterParameter.OUTPUT_STREAM);
byte[] formattedReportBytes = os.toByteArray();
return formattedReportBytes;

Vi que há uma classe chamadaJRJdbcQueryExecuter dentro do JasperReports ... É possível chamá-lo diretamente em vez de chamarfillReport, para obter o ResultSet da consulta SQL executada?

Obrigad

questionAnswers(2)

yourAnswerToTheQuestion