【发布时间】:2017-01-19 22:21:47
【问题描述】:
我使用iReport Designer 工具创建了一个jrxml 文件。它在 iReport Designer 工具中运行良好。现在我正在尝试使用Java 程序编译该jrxml 文件。 MySQL 查询位于 jrxml 文件中。我认为 jrxml 文件没问题,因为它在 iReport Designer 工具中按预期工作。
当我运行我的 Java 程序来编译并生成带有JREmptyDataSource 的报告的PDF 文件时,它会生成一个pdf 没有填充任何数据,但生成的pdf 中有图形和静态文本。我知道没有数据,因为我使用了JREmptyDataSource。
然后我创建了一个到我的数据库的连接。如果一切正常,它应该生成带有相关数据的PDF 文件。不是吗?
这是我的代码
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/my_db", "root", "123");
System.out.println("INFO: Connected succesfully to the database!");
JasperReport jasperReport = JasperCompileManager.compileReport("J:/reports using iReport tools/installmentListForACustomer.jrxml");
// JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,new HashMap(), new JREmptyDataSource());
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,new HashMap(), c);
JasperExportManager.exportReportToPdfFile(jasperPrint, "fromXml.pdf");
System.out.println("INFO: Success!");
} catch (Exception e) {
System.out.println("EXCEPTION: " + e + " \n");
e.printStackTrace();
}
但问题是,即使它生成了一个pdf 文件,它也不包含任何内容。甚至没有静态文本和图形。完全是空白。
查询字符串在jrxml 文件中。数据库连接也成功。我不知道为什么它会生成一个空的 PDF。
你能解释一下为什么它不生成一个与数据库相关的pdf文件吗?
【问题讨论】:
标签: java jasper-reports