ReportDefine rd = (ReportDefine)ReportUtils.read("D:/zhu.rpx");
SubReportMetaData subReport = new SubReportMetaData();//构造子报表元数据
SubReportConfig src = new SubReportConfig();//构造自报表定义
src.setName("male");//设置子报表名称
src.setURLType(SubReportConfig.TYPE_ABSOLUTE);//设置子报表定义的URL类型为绝对路径
src.setURL("D:\\sub.rpx");//设置子报表的路径
subReport.addSubReportConfig(src);//把子报表定义添加到子报表元数据中
rd.setSubReportMetaData(subReport);
INormalCell inc41=rd.getCell(4,(short)1);//获取A4单元格对象
inc41.setCellType((byte)-60);//设置单元格类型为子报表
IByteMap map=new ByteMap();
map.put(INormalCell.VALUE,"subreport()");
inc41.setExpMap(map);//设置A4单元格表达式为subreport()
SubRptProperty subRpt=new SubRptProperty();
subRpt.setType((byte)2);//设置子报表类型为引入式
subRpt.setName("male");//male为之前定义的子报表名
inc41.setSubRptProperty(subRpt);//设置子报表信息
ReportUtils.write("D:/zhu1.rpx",rd); //保存新的报表
注:如果子报表路径不是本地目录,而且需要远程读取等 reportDefine 对象,则
src.setURLType(SubReportConfig.TYPE_CUSTOM);
src.setSubReportDefine(reportDefine);