使用Java代码生成空白报告,在Studio中预览OK

使用Java代码生成空白报告,在Studio中预览OK,java,jasper-reports,Java,Jasper Reports,使用Jaspersoft Studio 6.6.0,我创建了一个非常简单的报告,其中包含一个静态文本和一个红色矩形(以及我之前测试过的许多其他内容)。没有用于获取数据的查询,也没有动态字段或任何内容 这就是设计的样子: 预览在所有不同格式(HTML、PDF等)中都很好 当我尝试在我的web应用程序中生成报告时,我遇到了一个问题。使用库版本6.7.0 这样编码的HTML导出将产生一个空字符串 JasperPrint jasperPrint = JasperFillManager.fillRep

使用Jaspersoft Studio 6.6.0,我创建了一个非常简单的报告,其中包含一个静态文本和一个红色矩形(以及我之前测试过的许多其他内容)。没有用于获取数据的查询,也没有动态字段或任何内容

这就是设计的样子:

预览在所有不同格式(HTML、PDF等)中都很好

当我尝试在我的web应用程序中生成报告时,我遇到了一个问题。使用库版本6.7.0

这样编码的HTML导出将产生一个空字符串

JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params);
StringBuilder htmlStringBuilder = new StringBuilder();
HtmlExporter exporter = new HtmlExporter();

SimpleHtmlExporterConfiguration conf = new SimpleHtmlExporterConfiguration();
conf.setHtmlHeader("");
conf.setBetweenPagesHtml("");
conf.setHtmlFooter("");
conf.setFlushOutput(true);
exporter.setConfiguration(conf);
SimpleHtmlExporterOutput output = new SimpleHtmlExporterOutput(htmlStringBuilder);
exporter.setExporterOutput(output);
exporter.setExporterInput(new SimpleExporterInput(jasperPrint));

exporter.exportReport();
return htmlStringBuilder.toString(); // empty string
使用创建单页PDF文件的Eport to PDF。这一页是空白的

JasperExportManager.exportReportToPdfFile(jasperPrint, "file.pdf");
我尝试使用Studio和Java代码编译JRXML文件。结果仍然是一样的。JasperPrint对象似乎已填充,但页面上没有任何元素,我认为这是相关的。有机会知道原因吗?

我认为有两种选择:

  • 在java代码中,导入
    net.sf.jasperreports.engine.jreportydatasource
    类并按如下方式填充jasperPrint:

    JasperPrint-JasperPrint=JasperFillManager.fillReport(jasperReport,params,new-jreportydatasource())

    这将保证详细信息标注栏显示一次。这是JasperSoft Studio在预览带有
    一条空记录的报告时使用的数据适配器

  • 例如,在JasperSoft Studio中,将所有内容从“详细信息”栏移到“摘要”栏,然后在“报告属性”选项卡中选择:

    无数据类型时:所有部分无详细信息

    这样,当您不提供任何数据时,将渲染除“细节”标注栏之外的所有其他标注栏


  • 我感觉0页是因为没有数据源,也没有数据进入。有什么可以支持的吗?