我在运行这个代码时遇到了一个问题。我总是收到这样的消息:“文档没有页面”,在pdf文件中有一个空白页。
注意:我使用的是NetBeans IDE7.2测试版。
这是我的代码:
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Currency;
import java.util.HashMap;
import javax.swing.JFrame;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.swing.JRViewer;
public class Report extends JFrame{
public Report(String month,int year){
try{
//load the driver
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/motor";
String user="root";
String pass="";
Connection cn=DriverManager.getConnection(url,user,pass);
System.out.println("connected in report");
PreparedStatement ps = cn.prepareStatement("select number,title,name,ikar,echtirak,price,tarakom from users order by number asc");
ResultSet rs;
rs=ps.executeQuery();
JasperPrint jasperPrint=null;
HashMap<String, Object> mapParameters = new HashMap <String, Object>();
// jrxml compiling process
JasperReport jasperReport = JasperCompileManager.compileReport("C:/Users/user/Documents/NetBeansProjects/MotorApp/MyReports/motorReport.jrxml");
int i=1;
while(rs.next()){
mapParameters.put("Name", rs.getString("title")+" "+rs.getString("name"));
mapParameters.put("Number",rs.getString("number"));
mapParameters.put("Ikar",rs.getString("ikar"));
mapParameters.put("Amperage",rs.getString("echtirak")+" A");
mapParameters.put("tarakom",rs.getString("tarakom")+" $");
mapParameters.put("monthPrice",rs.getString("price")+" $");
Integer total=Integer.parseInt(rs.getString("price"))+Integer.parseInt(rs.getString("tarakom"));
mapParameters.put("totalPrice",total+" $");
mapParameters.put("monthYear",year+" "+month);
try{
System.out.println("Filling report...");
jasperPrint = JasperFillManager.fillReport(jasperReport, mapParameters,cn);
JRViewer viewer = new JRViewer(jasperPrint);
System.out.println("Done!");
JasperExportManager.exportReportToPdfFile(jasperPrint,"C:/Users/user/Desktop/"+month+" "+year+".pdf");
}catch(JRException elle){
System.out.println(elle.getMessage());
}
}
}catch(Exception ev){
System.out.println(ev.getMessage());
}
}
}
我真的很感激你的帮助。
我首先想到的是motorreport.jrxml文件。它的内容可能有一些问题。尝试将报表内容减少到代码可以正常工作且报表可以正确显示的程度。它可能会给你一个问题原因的线索。如果你仍然不能解决这个问题,那么就带着更多的细节回到这里。
我正在从. jasper文件加载jasper报告文件以提高性能,如下所示。 但是我现在有一个要求,动态形成的查询必须设置为. jasper(编译)文件。有没有办法做同样的事情?
在某个地方,我读到6.3.1版本比6.2.2版本包含了额外的属性。最初我使用6.3.1,但后来我将其改为6.2.2,但是每当我试图从jrxml组件中删除“UUID”属性时,它会在保存文件时自动返回。 到底是什么问题,我该怎么办?请任何人帮助我从这个贾斯珀报道!!!!!:(
问题内容: 我在寻找解决此问题的方法时遇到问题。运行它后,我的代码可以正常工作。它假定将我的sql数据库中的数据显示到jtable上,并且有一个按钮将触发显示jasper报告,但存在一点问题,它始终向我显示消息“文档无页面”。这是为什么?有人可以帮我解决我的问题吗?我做错什么了? 这是我的代码: 这是XML报告: 问题答案: 首先,资源管理… 如果可以,您应该只打开与数据库的单个连接。确保在关闭应
我的应用程序中有几个类似的报告,因此我创建了一个基本结构,在标题中有一个子报告,在页脚中有另一个子报告。 我不知道为什么我找不到解决这个问题的方法,如果有人能帮我...谢谢!
我已经使用JRResultSetDataSource使用了Jasper报告,但这是我第一次使用JRBeanGrou 我正在尝试使用以下代码运行报告测试: 客户.java Report.java clientereport.jrxml Main.java 我得到以下错误: 我不知道我的代码有什么问题。
我试图做一个Jasper报表簿,稍后填充它的内容,并保持封面不变,但是当我使用与报表簿对应的. jasper时,我得到了一个空白页。我一个接一个地传递这本书的页面,它起作用了,但是当我传递整本书时,我什么也没得到。 有人知道如何在java中使用整个Jasper报告簿来生成PDF吗? 谢谢。