如果我必须选择哪个版本最稳定?
我尝试使用多个版本进行报告。从 iReport (任何版本)一切都运行良好,但是当我尝试从我的java类编译它时(主报表编译成功但子报表未编译)导致 JasperCompileManager < / em>找不到“subreport.jasper”)
JasperDesign jasperDesign = JRXmlLoader.load("C://report/reportPI.jrxml");
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
所以我用 iReport 2.0.7 编译它们并使用它们Compiled&gt;&gt;使用我的java类的唯一版本是从 iReport 2.0.7 编译的版本(问题:没有可能为另一个子报表添加新的band)。
其他人使用更高版本的 iReport 编译文件,例如 4.5.1 或 4.7.0
崩溃在这一行
JasperReport jasperReport =(JasperReport) JRLoader.loadObject("C:\\report/reportPI.jasper");
返回
cannot assign instance of net.sf.jasperreports.engine.base.JRBaseTextField to field
net.sf.jasperreports.engine.base.JRBaseParagraph.paragraphContainer of type
net.sf.jasperreports.engine.JRParagraphContainer in instance of
net.sf.jasperreports.engine.base.JRBaseParagraph
在论坛中他们说这是jar问题,其他人说他们设计错误。但就我而言,这是另一回事,因为我用罐子试了一切。
实际上我找到了一个解决方案(通过测试),但它有点复杂。我使用 iReport 2.0.7 编译子报表,使用 iReport 4.5.1 (包含许多波段和多个子报表)设计的主报表编译子报表,然后我按照第一个编译主报表代码。
当我想在OneSubreport下执行多个子报表时,它可以但。我回到了同样的问题。
我觉得这个问题非常详细,但这是必要的
如果某人有稳定的版本,所有情况都有效,请帮助
经过更多测试..
我尝试使用
在文件中编译subreport.jrxmlJasperDesign jasperDesign1 = JRXmlLoader.load("C://report/report74.jrxml");
JasperCompileManager.compileReportToFile(jasperDesign1, "C://report");
但回复Access denied to save
。