我正在使用netbeans7.3。使用ireports4.7.1插件
我的程序连接到数据库并且只检索应该在生成的报告中显示的一条记录。
以下是生成它的代码:
try
{
Connection con= DriverManager.getConnection(host, uname, pword);
File f1 = new File("report1Spring.jrxml");
String path = f1.getAbsolutePath();
JasperDesign jd = JRXmlLoader.load(path);
String sql = "select Arabic , English, Nit, cnumber, (select mail from EMails where id ="+ Vars.pronum
+") as email from allInfo inner join allAccounts on allInfo.id=allAccounts.id where allInfo.id ="+Vars.pronum;
JRDesignQuery newQuery = new JRDesignQuery();
newQuery.setText(sql);
jd.setQuery(newQuery);
JasperReport jasRep = JasperCompileManager.compileReport(jd);
JasperPrint jasPrint = JasperFillManager.fillReport(jasRep, null , con);
JasperViewer.viewReport(jasPrint,false);
}
catch (SQLException | JRException e)
{
JOptionPane.showMessageDialog(null,e);
}
这里的问题是:
我清理并构建项目,
然后从生成的jar文件中执行它,将jasper和jrxml文件放在同一个dist目录中。
然后当我按下“生成报告”按钮时,报告生成完美,
事情就是当我需要保存它时,只有pdf,rtf,xls(单张或多张)会产生问题。其他扩展顺利。 “另存为pdf”选项生成一个大小为0的pdf文件,当我尝试打开它时,它会给我错误:“无法打开,因为它已损坏或不支持文件类型”, 并且“另存为xls”根本不生成任何文件。
和“另存为csv”会生成一个文件,但是当我打开它时,它会显示没有任何含义的符号字符。
我找不到问题,感谢您的帮助。
由于