我正在使用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”会生成一个文件,但是当我打开它时,它会显示没有任何含义的符号字符。
我找不到问题,感谢您的帮助。
谢谢