【发布时间】:2020-04-26 13:54:21
【问题描述】:
我是 JasperReports 的新手。
我正在尝试使用唯一参数填充一个简单的 JasperReport,然后将其导出为 PDF 文件。但是PDF 文件导出为空。
我使用 Jaspersoft Studio 来设计报告。我得到了以下“invoice.jrxml”文件:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="invoice" pageWidth="612" pageHeight="1008" columnWidth="572" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="a9cee65a-1403-4afb-8df2-37033b911d04">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
<parameter name="name" class="java.lang.String"/>
<pageHeader>
<band height="35" splitType="Stretch">
<staticText>
<reportElement x="0" y="0" width="80" height="20" uuid="d762d314-715a-48d9-a3a0-5c147a6754a5"/>
<textElement>
<font size="14"/>
</textElement>
<text><![CDATA[Name:]]></text>
</staticText>
<textField>
<reportElement x="80" y="0" width="100" height="20" uuid="a396777c-6516-4b37-ad86-501b21c090f5"/>
<textElement>
<font size="14"/>
</textElement>
<textFieldExpression><![CDATA[$P{name}]]></textFieldExpression>
</textField>
</band>
</pageHeader>
<detail>
<band height="125" splitType="Stretch"/>
</detail>
</jasperReport>
(我在 Jasper Studio 预览选项卡中进行了测试,结果很好。)
报告已编译,我得到一个“invoice.jasper”文件。我将此文件放在我的 Java 项目的类路径中。
这是我尝试填写报告并将其导出的代码:
public static void main(String[] args) throws JRException {
JasperReport reporte = (JasperReport) JRLoader.loadObject(new File("invoice.jasper"));
Map<String, Object> parametros = new HashMap<String, Object>();
parametros.put("name", "Adrián");
JasperPrint jasperPrint = JasperFillManager.fillReport(reporte, parametros);
JasperExportManager.exportReportToPdfFile(jasperPrint, "invoice.pdf");
}
我不明白为什么报告是空白的。
【问题讨论】:
-
I can't understand why the report is blank.- 你没有传递数据源
标签: java jasper-reports